Re: [PATCH] acpi/processor_idle.c: Fix kernel pointer leak

From: Rafael J. Wysocki
Date: Wed Sep 29 2021 - 08:08:08 EST


On Wed, Sep 29, 2021 at 12:56 PM Guo Zhi <qtxuning1999@xxxxxxxxxxx> wrote:
>
> Pointers should be printed with %p or %px rather than
> cast to 'long' and pinted with %ld.
> Change %ld to %p to print the secured pointer.

In this particular case, id->driver_data represents a proper integer,
not an address, although technically it is a pointer data type. It
shouldn't be printed with %p and the patch is incorrect.

>
> Signed-off-by: Guo Zhi <qtxuning1999@xxxxxxxxxxx>
> ---
> drivers/acpi/processor_idle.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> index f37fba9e5ba0..a9f4ab072583 100644
> --- a/drivers/acpi/processor_idle.c
> +++ b/drivers/acpi/processor_idle.c
> @@ -73,9 +73,9 @@ static int set_max_cstate(const struct dmi_system_id *id)
> if (max_cstate > ACPI_PROCESSOR_MAX_POWER)
> return 0;
>
> - pr_notice("%s detected - limiting to C%ld max_cstate."
> + pr_notice("%s detected - limiting to C%p max_cstate."
> " Override with \"processor.max_cstate=%d\"\n", id->ident,
> - (long)id->driver_data, ACPI_PROCESSOR_MAX_POWER + 1);
> + id->driver_data, ACPI_PROCESSOR_MAX_POWER + 1);
>
> max_cstate = (long)id->driver_data;
>
> --
> 2.33.0
>