linux-stable/include/acpi
Jessica Clarke ca25f92b72 ACPICA: Use original data_table_region pointer for accesses
ACPICA commit d9eb82bd7515989f0b29d79deeeb758db4d6529c

Currently the pointer to the table is cast to acpi_physical_address and
later cast back to a pointer to be dereferenced. Whether or not this is
supported is implementation-defined.

On CHERI, and thus Arm's experimental Morello prototype architecture,
pointers are represented as capabilities, which are unforgeable bounded
pointers, providing always-on fine-grained spatial memory safety. This
means that any pointer cast to a plain integer will lose all its
associated metadata, and when cast back to a pointer it will give a
null-derived pointer (one that has the same metadata as null but an
address equal to the integer) that will trap on any dereference. As a
result, this is an implementation where acpi_physical_address cannot be
used as a hack to store real pointers.

Thus, add a new field to struct acpi_object_region to store the pointer for
table regions, and propagate it to acpi_ex_data_table_space_handler via the
region context, to use a more portable implementation that supports
CHERI.

Link: https://github.com/acpica/acpica/commit/d9eb82bd
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2021-12-27 17:01:28 +01:00
..
platform ACPI: Drop ACPI_USE_BUILTIN_STDARG ifdef from acgcc.h 2021-11-05 15:51:13 +01:00
acbuffer.h ACPICA: Add _PLD panel positions 2021-06-07 14:04:43 +02:00
acconfig.h ACPICA: Add support for PlatformRtMechanism OperationRegion handler 2021-06-07 14:04:43 +02:00
acexcep.h ACPICA: Updated all copyrights to 2021 2021-01-22 15:51:53 +01:00
acnames.h ACPICA: Add method name "_DIS" For use with aslmethod.c 2021-08-16 16:47:02 +02:00
acoutput.h ACPICA: Macros should not use a trailing semicolon 2021-08-16 16:47:02 +02:00
acpi.h ACPICA: Updated all copyrights to 2021 2021-01-22 15:51:53 +01:00
acpi_bus.h ACPI: scan: Obtain device's desired enumeration power state 2021-11-03 19:03:55 +01:00
acpi_drivers.h Merge branches 'acpi-pci' and 'acpi-processor' 2021-04-26 17:03:05 +02:00
acpi_io.h Revert "ACPI: Add memory semantics to acpi_os_map_memory()" 2021-09-23 20:39:36 +02:00
acpi_lpat.h
acpi_numa.h ACPI: NUMA: fix typo in a comment 2021-06-07 16:41:10 +02:00
acpiosxf.h ACPICA: Updated all copyrights to 2021 2021-01-22 15:51:53 +01:00
acpixf.h ACPICA: Update version to 20210930 2021-10-05 15:53:37 +02:00
acrestyp.h ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
actbl.h ACPICA: Updated all copyrights to 2021 2021-01-22 15:51:53 +01:00
actbl1.h ACPICA: Headers: Add new DBG2 Serial Port Subtypes 2021-08-16 16:47:02 +02:00
actbl2.h Merge branches 'acpi-x86', 'acpi-resources', 'acpi-scan' and 'acpi-misc' 2021-11-02 18:04:33 +01:00
actbl3.h ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type 2021-10-05 15:53:37 +02:00
actypes.h ACPICA: Use original data_table_region pointer for accesses 2021-12-27 17:01:28 +01:00
acuuid.h ACPICA: ACPI 6.4: add USB4 capabilities UUID 2021-04-07 19:09:00 +02:00
apei.h ACPI: APEI: mark apei_hest_parse() static 2021-10-27 20:34:47 +02:00
battery.h
button.h
cppc_acpi.h ACPI: CPPC: Introduce cppc_get_nominal_perf() 2021-09-07 21:15:16 +02:00
ghes.h
hed.h
nfit.h
pcc.h mailbox: pcc: Use PCC mailbox channel pointer instead of standard 2021-10-29 22:46:38 -05:00
pdc_intel.h
processor.h
reboot.h
video.h