1. 27 Dec, 2021 2 commits
    • Jessica Clarke's avatar
      ACPICA: Use original data_table_region pointer for accesses · ca25f92b
      Jessica Clarke authored
      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/d9eb82bdSigned-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ca25f92b
    • Mark Langsdorf's avatar
      ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions · f81bdeaf
      Mark Langsdorf authored
      ACPICA commit bc02c76d518135531483dfc276ed28b7ee632ce1
      
      The current ACPI_ACCESS_*_WIDTH defines do not provide a way to
      test that size is small enough to not cause an overflow when
      applied to a 32-bit integer.
      
      Rather than adding more magic numbers, add ACPI_ACCESS_*_SHIFT,
      ACPI_ACCESS_*_MAX, and ACPI_ACCESS_*_DEFAULT #defines and
      redefine ACPI_ACCESS_*_WIDTH in terms of the new #defines.
      
      This was inititally reported on Linux where a size of 102 in
      ACPI_ACCESS_BIT_WIDTH caused an overflow error in the SPCR
      initialization code.
      
      Link: https://github.com/acpica/acpica/commit/bc02c76dSigned-off-by: default avatarMark Langsdorf <mlangsdo@redhat.com>
      Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f81bdeaf
  2. 26 Dec, 2021 4 commits
  3. 25 Dec, 2021 12 commits
  4. 24 Dec, 2021 3 commits
  5. 23 Dec, 2021 19 commits