lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZwahcJu_K7bbeICS@J2N7QTR9R3>
Date: Wed, 9 Oct 2024 16:29:52 +0100
From: Mark Rutland <mark.rutland@....com>
To: Alexander Lobakin <aleksander.lobakin@...el.com>,
	Arnd Bergmann <arnd@...db.de>
Cc: Lorenzo Pieralisi <lpieralisi@...nel.org>,
	Kevin Brodsky <kevin.brodsky@....com>,
	"Paul E. McKenney" <paulmck@...nel.org>,
	kernel test robot <lkp@...el.com>,
	nex.sw.ncis.osdt.itp.upstreaming@...el.com,
	linux-arm-kernel@...ts.infradead.org, stable@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] firmware/psci: fix missing '%u' format literal in
 kthread_create_on_cpu()

On Wed, Oct 09, 2024 at 05:26:18PM +0200, Alexander Lobakin wrote:
> From: Alexander Lobakin <aleksander.lobakin@...el.com>
> 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@...el.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202408141012.KhvKaxoh-lkp@intel.com
> > Closes: https://lore.kernel.org/oe-kbuild-all/202408141243.eQiEOQQe-lkp@intel.com
> > Fixes: ea8b1c4a6019 ("drivers: psci: PSCI checker module")
> > Cc: stable@...r.kernel.org # 4.10+
> > Signed-off-by: Alexander Lobakin <aleksander.lobakin@...el.com>
> 
> Ping? Who's taking this?

I would expect this to go through the soc tree.

Arnd, are you happy to pick this up?

FWIW:

Acked-by: Mark Rutland <mark.rutland@....com>

Mark.

> 
> > ---
> >  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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ