Re: [PATCH] kcsan: fix printk format string

From: Paul E. McKenney
Date: Wed Apr 21 2021 - 10:53:24 EST


On Wed, Apr 21, 2021 at 03:59:40PM +0200, Marco Elver wrote:
> On Wed, 21 Apr 2021 at 15:51, Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> > From: Arnd Bergmann <arnd@xxxxxxxx>
> >
> > Printing a 'long' variable using the '%d' format string is wrong
> > and causes a warning from gcc:
> >
> > kernel/kcsan/kcsan_test.c: In function 'nthreads_gen_params':
> > include/linux/kern_levels.h:5:25: error: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Werror=format=]
> >
> > Use the appropriate format modifier.
> >
> > Fixes: f6a149140321 ("kcsan: Switch to KUNIT_CASE_PARAM for parameterized tests")
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> Reviewed-by: Marco Elver <elver@xxxxxxxxxx>
>
> Thank you!
>
> Normally KCSAN patches go through -rcu, but perhaps in this instance
> it should be picked up into -tip/locking/core directly, so it goes out
> with "kcsan: Switch to KUNIT_CASE_PARAM for parameterized tests".
> Paul, Ingo, do you have a preference?

I am good either way. I have queued it for the moment, but will remove
it if Ingo takes it.

Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxx>

> Thanks,
> -- Marco
>
> > ---
> > kernel/kcsan/kcsan_test.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/kernel/kcsan/kcsan_test.c b/kernel/kcsan/kcsan_test.c
> > index 9247009295b5..a29e9b1a30c8 100644
> > --- a/kernel/kcsan/kcsan_test.c
> > +++ b/kernel/kcsan/kcsan_test.c
> > @@ -981,7 +981,7 @@ static const void *nthreads_gen_params(const void *prev, char *desc)
> > const long min_required_cpus = 2 + min_unused_cpus;
> >
> > if (num_online_cpus() < min_required_cpus) {
> > - pr_err_once("Too few online CPUs (%u < %d) for test\n",
> > + pr_err_once("Too few online CPUs (%u < %ld) for test\n",
> > num_online_cpus(), min_required_cpus);
> > nthreads = 0;
> > } else if (nthreads >= num_online_cpus() - min_unused_cpus) {
> > --
> > 2.29.2