aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Wilczynski <[email protected]>2023-09-15 01:25:27 +0300
committerRafael J. Wysocki <[email protected]>2023-09-18 12:16:16 +0200
commitb2eb3e67ee68dee9c0555466dfa8d7f0ffcc00db (patch)
treedc2f08c34d547f81b9e79590345a016757a097f5
parent4eb2bd24756e0c8e254de8931ba7ee4346e75bbc (diff)
ACPI: processor: Fix uninitialized access of buf in acpi_set_pdc_bits()
A bug was introduced during unification of setting CAP_SMP_T_SWCOORD for the _PDC and _OSC methods. The third u32 in the buffer is never cleared before setting bits on it. The memory is not guaranteed to be zero as it was allocated by kmalloc() instead of kzalloc(). Fix this by initializing the third u32 in the buffer to 0. Fixes: b9e8d0168a7a ("ACPI: processor: Set CAP_SMP_T_SWCOORD in arch_acpi_set_proc_cap_bits()") Signed-off-by: Michal Wilczynski <[email protected]> [ rjw: Subject and changelog edits ] Signed-off-by: Rafael J. Wysocki <[email protected]>
-rw-r--r--drivers/acpi/processor_pdc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
index 1a8591e9a9bf..994091bd52de 100644
--- a/drivers/acpi/processor_pdc.c
+++ b/drivers/acpi/processor_pdc.c
@@ -19,6 +19,7 @@ static void acpi_set_pdc_bits(u32 *buf)
{
buf[0] = ACPI_PDC_REVISION_ID;
buf[1] = 1;
+ buf[2] = 0;
/* Twiddle arch-specific bits needed for _PDC */
arch_acpi_set_proc_cap_bits(&buf[2]);