Re: [PATCH] firmware/psci: fix missing '%u' format literal in kthread_create_on_cpu()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>
Date: Mon, 30 Sep 2024 17:44:33 +0200

> kthread_create_on_cpu() always requires format string to contain one
> '%u' at the end, as it automatically adds the CPU ID when passing it
> to kthread_create_on_node(). The former isn't marked as __printf()
> as it's not printf-like itself, which effectively hides this from
> the compiler.
> If you convert this function to printf-like, you'll see the following:
> 
> In file included from drivers/firmware/psci/psci_checker.c:15:
> drivers/firmware/psci/psci_checker.c: In function 'suspend_tests':
> drivers/firmware/psci/psci_checker.c:401:48: warning: too many arguments for format [-Wformat-extra-args]
>      401 |                                                "psci_suspend_test");
>          |                                                ^~~~~~~~~~~~~~~~~~~
> drivers/firmware/psci/psci_checker.c:400:32: warning: data argument not used by format string [-Wformat-extra-args]
>      400 |                                                (void *)(long)cpu, cpu,
>          |                                                                   ^
>      401 |                                                "psci_suspend_test");
>          |                                                ~~~~~~~~~~~~~~~~~~~
> 
> Add the missing format literal to fix this. Now the corresponding
> kthread will be named as "psci_suspend_test-<cpuid>", as it's meant by
> kthread_create_on_cpu().
> 
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202408141012.KhvKaxoh-lkp@xxxxxxxxx
> Closes: https://lore.kernel.org/oe-kbuild-all/202408141243.eQiEOQQe-lkp@xxxxxxxxx
> Fixes: ea8b1c4a6019 ("drivers: psci: PSCI checker module")
> Cc: stable@xxxxxxxxxxxxxxx # 4.10+
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>

Ping? Who's taking this?

> ---
>  drivers/firmware/psci/psci_checker.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/firmware/psci/psci_checker.c b/drivers/firmware/psci/psci_checker.c
> index 116eb465cdb4..ecc511c745ce 100644
> --- a/drivers/firmware/psci/psci_checker.c
> +++ b/drivers/firmware/psci/psci_checker.c
> @@ -398,7 +398,7 @@ static int suspend_tests(void)
>  
>  		thread = kthread_create_on_cpu(suspend_test_thread,
>  					       (void *)(long)cpu, cpu,
> -					       "psci_suspend_test");
> +					       "psci_suspend_test-%u");
>  		if (IS_ERR(thread))
>  			pr_err("Failed to create kthread on CPU %d\n", cpu);
>  		else

Thanks,
Olek




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux