On Tue, Jul 8, 2025 at 11:40 AM shangsong <shangsong2@xxxxxxxxxxx> wrote: > > From: Shang song <shangsong2@xxxxxxxxxx> > > According to section "4.1.2 PRM Handler Information Structure" in the > Platform Runtime Mechanism specification, the static data buffer and ACPI > parameter buffer may be NULL if not required. Therefore, when either > buffer is NULL, adding a check can prevent invalid virtual address > conversion attempts. > > Without this patch, the following dmesg log could be misleading or > confusing to users: > > kernel: Failed to find VA for GUID: 7626C6AE-F973-429C-A91C-107D7BE298B0, PA: 0x0 > > Signed-off-by: Shang song <shangsong2@xxxxxxxxxx> > --- > drivers/acpi/prmt.c | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) > > diff --git a/drivers/acpi/prmt.c b/drivers/acpi/prmt.c > index e549914a636c..a97f0f3a6590 100644 > --- a/drivers/acpi/prmt.c > +++ b/drivers/acpi/prmt.c > @@ -155,11 +155,21 @@ acpi_parse_prmt(union acpi_subtable_headers *header, const unsigned long end) > th->handler_addr = > (void *)efi_pa_va_lookup(&th->guid, handler_info->handler_address); > > - th->static_data_buffer_addr = > - efi_pa_va_lookup(&th->guid, handler_info->static_data_buffer_address); > + /* > + * Per section "4.1.2 PRM Handler Information Structure" in > + * spec "Platform Runtime Mechanism", the static data buffer > + * and acpi parameter buffer may be NULL if they are not > + * needed. > + */ > + if (handler_info->static_data_buffer_address) { > + th->static_data_buffer_addr = > + efi_pa_va_lookup(&th->guid, handler_info->static_data_buffer_address); > + } > > - th->acpi_param_buffer_addr = > - efi_pa_va_lookup(&th->guid, handler_info->acpi_param_buffer_address); > + if (handler_info->acpi_param_buffer_address) { > + th->acpi_param_buffer_addr = > + efi_pa_va_lookup(&th->guid, handler_info->acpi_param_buffer_address); > + } > > } while (++cur_handler < tm->handler_count && (handler_info = get_next_handler(handler_info))); > > -- This https://lore.kernel.org/linux-acpi/20250704014104.82524-1-qiyuzhu2@xxxxxxx/ has already been applied. Thanks!