Re: linux-next: build warning after merge of the hyperv tree

From: Wei Liu
Date: Tue May 18 2021 - 06:49:53 EST


On Tue, May 18, 2021 at 05:04:21PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the hyperv tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> In file included from include/linux/printk.h:7,
> from include/linux/kernel.h:17,
> from drivers/hv/hv_util.c:11:
> drivers/hv/hv_util.c: In function 'hv_timesync_init':
> include/linux/kern_levels.h:5:18: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'int' [-Wformat=]
> 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
> | ^~~~~~
> include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
> 11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
> | ^~~~~~~~
> include/linux/printk.h:343:9: note: in expansion of macro 'KERN_ERR'
> 343 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
> | ^~~~~~~~
> drivers/hv/hv_util.c:753:3: note: in expansion of macro 'pr_err'
> 753 | pr_err("cannot register PTP clock: %ld\n",
> | ^~~~~~
>
> Introduced by commit
>
> 32c0ff83550e ("hv_utils: Fix passing zero to 'PTR_ERR' warning")
>

Thanks Stephen.

PTR_ERR_OR_ZERO returns int while PTR_ERR returns long. That's why this
warning is triggered.

I will fix it in hyperv-next.

Wei.

> --
> Cheers,
> Stephen Rothwell