Re: [PATCH] kcsan: fix printk format string

From: Marco Elver
Date: Wed Apr 21 2021 - 09:59:56 EST


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?

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