forked fromtorvalds/linux
- Notifications
You must be signed in to change notification settings - Fork0
Commita509a66
arm64: permit ACPI core to map kernel memory used for table overrides
Jonathan reports that the strict policy for memory mapped by theACPI core breaks the use case of passing ACPI table overrides viainitramfs. This is due to the fact that the memory type used forloading the initramfs in memory is not recognized as a memory typethat is typically used by firmware to pass firmware tables.Since the purpose of the strict policy is to ensure that no AML orother ACPI code can manipulate any memory that is used by the kernelto keep its internal state or the state of user tasks, we can relaxthe permission check, and allow mappings of memory that is reservedand marked as NOMAP via memblock, and therefore not covered by thelinear mapping to begin with.Fixes:1583052 ("arm64/acpi: disallow AML memory opregions to access kernel memory")Fixes:325f558 ("arm64/acpi: disallow writeable AML opregion mapping for EFI code regions")Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>Signed-off-by: Ard Biesheuvel <ardb@kernel.org>Tested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>Cc: Sudeep Holla <sudeep.holla@arm.com>Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>Link:https://lore.kernel.org/r/20200929132522.18067-1-ardb@kernel.orgSigned-off-by: Catalin Marinas <catalin.marinas@arm.com>1 parent75df529 commita509a66
2 files changed
+21
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
302 | | - | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
303 | 316 | | |
304 | 317 | | |
305 | 318 | | |
| |||
388 | 401 | | |
389 | 402 | | |
390 | 403 | | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
958 | 958 | | |
959 | 959 | | |
960 | 960 | | |
961 | | - | |
| 961 | + | |
962 | 962 | | |
963 | 963 | | |
964 | 964 | | |
| |||
0 commit comments
Comments
(0)