drivers/acpi/acpi_processor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Initialization of the local acpi_object in acpi_processor_get_info()
only sets the first 4 bytes to zero and is thus incomplete. This is
indicated by messages like:
acpi ACPI0007:be: Invalid PBLK length [166288104]
Fix this by initializing all 16 bytes of the processor member of that
union.
Signed-off-by: Sebastian Ott <sebott@redhat.com>
---
drivers/acpi/acpi_processor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 7cf6101cb4c7..2a99f5eb6962 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -275,7 +275,7 @@ static inline int acpi_processor_hotadd_init(struct acpi_processor *pr,
static int acpi_processor_get_info(struct acpi_device *device)
{
- union acpi_object object = { 0 };
+ union acpi_object object = { .processor = { 0 } };
struct acpi_buffer buffer = { sizeof(union acpi_object), &object };
struct acpi_processor *pr = acpi_driver_data(device);
int device_declaration = 0;
--
2.50.0
On Thu, Jul 3, 2025 at 2:42 PM Sebastian Ott <sebott@redhat.com> wrote:
>
> Initialization of the local acpi_object in acpi_processor_get_info()
> only sets the first 4 bytes to zero and is thus incomplete. This is
> indicated by messages like:
> acpi ACPI0007:be: Invalid PBLK length [166288104]
>
> Fix this by initializing all 16 bytes of the processor member of that
> union.
>
> Signed-off-by: Sebastian Ott <sebott@redhat.com>
> ---
> drivers/acpi/acpi_processor.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
> index 7cf6101cb4c7..2a99f5eb6962 100644
> --- a/drivers/acpi/acpi_processor.c
> +++ b/drivers/acpi/acpi_processor.c
> @@ -275,7 +275,7 @@ static inline int acpi_processor_hotadd_init(struct acpi_processor *pr,
>
> static int acpi_processor_get_info(struct acpi_device *device)
> {
> - union acpi_object object = { 0 };
> + union acpi_object object = { .processor = { 0 } };
> struct acpi_buffer buffer = { sizeof(union acpi_object), &object };
> struct acpi_processor *pr = acpi_driver_data(device);
> int device_declaration = 0;
> --
Applied as 6.17 material, thanks!
© 2016 - 2026 Red Hat, Inc.