efi: Replace efi_memory_attributes_table_t 0-sized array with flexible array
authorKees Cook <kees@kernel.org>
Thu, 11 Jul 2024 17:11:13 +0000 (10:11 -0700)
committerArd Biesheuvel <ardb@kernel.org>
Fri, 12 Jul 2024 08:06:01 +0000 (10:06 +0200)
commit4a2ebb082297f41803742729642961532e54079e
tree518aa4fa1429af07a0db955b75234a0fdefaf838
parent887c4cf5594a073fd60c0df84150eb06d78c6406
efi: Replace efi_memory_attributes_table_t 0-sized array with flexible array

While efi_memory_attributes_table_t::entry isn't used directly as an
array, it is used as a base for pointer arithmetic. The type is wrong
as it's not technically an array of efi_memory_desc_t's; they could be
larger. Regardless, leave the type unchanged and remove the old style
"0" array size. Additionally replace the open-coded entry offset code
with the existing efi_memdesc_ptr() helper.

Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/memattr.c
include/linux/efi.h