Re: [patch] acpi_pad: "processor_aggregator" name too long

From: walter harms
Date: Fri Mar 19 2010 - 08:25:58 EST




Dan Carpenter schrieb:
> cpi_device_class can only be 19 characters and a NULL terminator.
>
> With the current name we get a buffer overflow in acpi_pad_add()
> strcpy(acpi_device_class(device), ACPI_PROCESSOR_AGGREGATOR_CLASS);
>
> Signed-off-by: Dan Carpenter <error27@xxxxxxxxx>
> ---
> Feel free to pick your own name if you don't like mine. :)
>
>
> diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c
> index 7e52295..2db89d9 100644
> --- a/drivers/acpi/acpi_pad.c
> +++ b/drivers/acpi/acpi_pad.c
> @@ -30,7 +30,7 @@
> #include <acpi/acpi_bus.h>
> #include <acpi/acpi_drivers.h>
>
> -#define ACPI_PROCESSOR_AGGREGATOR_CLASS "processor_aggregator"
> +#define ACPI_PROCESSOR_AGGREGATOR_CLASS "proc_aggregator"
> #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator"
> #define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80
> static DEFINE_MUTEX(isolated_cpus_lock);


Hi Dan,
IMHO this does not solve the core problem. acpi should use kstrncpy or better a pointer.
The next guy that use "my_great_indentifier_is_longer_than_yours" will cause the same
problem.
But this is something that the acpi group needs to answer (fast).

re,
wh

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/