2023-10-11 10:09:03

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies

When building NFS with W=1 and CONFIG_WERROR=y, but
CONFIG_SUNRPC_DEBUG=n:

fs/nfs/nfs4proc.c: In function ‘nfs4_proc_create_session’:
fs/nfs/nfs4proc.c:9276:19: error: variable ‘ptr’ set but not used [-Werror=unused-but-set-variable]
9276 | unsigned *ptr;
| ^~~
CC fs/nfs/callback.o
fs/nfs/callback.c: In function ‘nfs41_callback_svc’:
fs/nfs/callback.c:98:13: error: variable ‘error’ set but not used [-Werror=unused-but-set-variable]
98 | int error;
| ^~~~~
CC fs/nfs/flexfilelayout/flexfilelayout.o
fs/nfs/flexfilelayout/flexfilelayout.c: In function ‘ff_layout_io_track_ds_error’:
fs/nfs/flexfilelayout/flexfilelayout.c:1230:13: error: variable ‘err’ set but not used [-Werror=unused-but-set-variable]
1230 | int err;
| ^~~
CC fs/nfs/flexfilelayout/flexfilelayoutdev.o
fs/nfs/flexfilelayout/flexfilelayoutdev.c: In function ‘nfs4_ff_alloc_deviceid_node’:
fs/nfs/flexfilelayout/flexfilelayoutdev.c:55:16: error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable]
55 | int i, ret = -ENOMEM;
| ^~~

All these are due to variables that are set uncontionally, but are used
only when debugging is enabled.

Fix this by changing the dfprintk*() dummy macros from empty loops to
calls to the no_printk() helper. This informs the compiler that the
passed debug parameters are actually used, and enables format specifier
checking as a bonus.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
include/linux/sunrpc/debug.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/sunrpc/debug.h b/include/linux/sunrpc/debug.h
index f6aeed07fe04e3d5..76539c6673f2fb15 100644
--- a/include/linux/sunrpc/debug.h
+++ b/include/linux/sunrpc/debug.h
@@ -67,9 +67,9 @@ do { \
# define RPC_IFDEBUG(x) x
#else
# define ifdebug(fac) if (0)
-# define dfprintk(fac, fmt, ...) do {} while (0)
-# define dfprintk_cont(fac, fmt, ...) do {} while (0)
-# define dfprintk_rcu(fac, fmt, ...) do {} while (0)
+# define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
+# define dfprintk_cont(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
+# define dfprintk_rcu(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
# define RPC_IFDEBUG(x)
#endif

--
2.34.1


2023-10-12 10:07:11

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies

Hi Geert,

kernel test robot noticed the following build errors:

[auto build test ERROR on trondmy-nfs/linux-next]
[also build test ERROR on linus/master v6.6-rc5 next-20231012]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Geert-Uytterhoeven/sunrpc-Use-no_printk-in-dfprintk-dummies/20231011-181013
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
patch link: https://lore.kernel.org/r/707e5e6dd0db9a663cf443564d1f8ee1c10a0086.1697018818.git.geert%2Brenesas%40glider.be
patch subject: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies
config: parisc64-defconfig (https://download.01.org/0day-ci/archive/20231012/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231012/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

In file included from include/linux/kernel.h:30,
from include/linux/uio.h:8,
from include/linux/socket.h:8,
from include/uapi/linux/in.h:25,
from include/linux/in.h:19,
from include/linux/nfs_fs.h:22,
from fs/nfs/filelayout/filelayout.c:32:
fs/nfs/filelayout/filelayout.c: In function 'filelayout_reset_write':
>> fs/nfs/filelayout/filelayout.c:96:34: error: 'struct rpc_task' has no member named 'tk_pid'
96 | hdr->task.tk_pid,
| ^
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/filelayout/filelayout.c:94:17: note: in expansion of macro 'dprintk'
94 | dprintk("%s Reset task %5u for i/o through MDS "
| ^~~~~~~
fs/nfs/filelayout/filelayout.c: In function 'filelayout_reset_read':
fs/nfs/filelayout/filelayout.c:113:34: error: 'struct rpc_task' has no member named 'tk_pid'
113 | hdr->task.tk_pid,
| ^
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/filelayout/filelayout.c:111:17: note: in expansion of macro 'dprintk'
111 | dprintk("%s Reset task %5u for i/o through MDS "
| ^~~~~~~
fs/nfs/filelayout/filelayout.c: In function 'filelayout_read_prepare':
fs/nfs/filelayout/filelayout.c:277:71: error: 'struct rpc_task' has no member named 'tk_pid'
277 | dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid);
| ^~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/filelayout/filelayout.c:277:17: note: in expansion of macro 'dprintk'
277 | dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid);
| ^~~~~~~
fs/nfs/filelayout/filelayout.c: In function 'filelayout_write_prepare':
fs/nfs/filelayout/filelayout.c:375:71: error: 'struct rpc_task' has no member named 'tk_pid'
375 | dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid);
| ^~
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/filelayout/filelayout.c:375:17: note: in expansion of macro 'dprintk'
375 | dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid);
| ^~~~~~~
--
In file included from include/linux/kernel.h:30,
from include/linux/uio.h:8,
from include/linux/socket.h:8,
from include/uapi/linux/in.h:25,
from include/linux/in.h:19,
from include/linux/nfs_fs.h:22,
from fs/nfs/flexfilelayout/flexfilelayout.c:10:
fs/nfs/flexfilelayout/flexfilelayout.c: In function 'ff_layout_reset_write':
>> fs/nfs/flexfilelayout/flexfilelayout.c:1020:34: error: 'struct rpc_task' has no member named 'tk_pid'
1020 | hdr->task.tk_pid,
| ^
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/flexfilelayout/flexfilelayout.c:1018:17: note: in expansion of macro 'dprintk'
1018 | dprintk("%s Reset task %5u for i/o through pNFS "
| ^~~~~~~
fs/nfs/flexfilelayout/flexfilelayout.c:1033:34: error: 'struct rpc_task' has no member named 'tk_pid'
1033 | hdr->task.tk_pid,
| ^
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/flexfilelayout/flexfilelayout.c:1031:17: note: in expansion of macro 'dprintk'
1031 | dprintk("%s Reset task %5u for i/o through MDS "
| ^~~~~~~
fs/nfs/flexfilelayout/flexfilelayout.c: In function 'ff_layout_reset_read':
fs/nfs/flexfilelayout/flexfilelayout.c:1069:34: error: 'struct rpc_task' has no member named 'tk_pid'
1069 | hdr->task.tk_pid,
| ^
include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:129:17: note: in expansion of macro 'printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ^~~~~~~~~
include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ^~~~~~~~
fs/nfs/flexfilelayout/flexfilelayout.c:1067:17: note: in expansion of macro 'dprintk'
1067 | dprintk("%s Reset task %5u for i/o through MDS "
| ^~~~~~~


vim +96 fs/nfs/filelayout/filelayout.c

7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 @32 #include <linux/nfs_fs.h>
19345cb299e823 fs/nfs/nfs4filelayout.c Benny Halevy 2011-06-19 33 #include <linux/nfs_page.h>
143cb494cb6662 fs/nfs/nfs4filelayout.c Paul Gortmaker 2011-07-01 34 #include <linux/module.h>
66114cad64bf76 fs/nfs/filelayout/filelayout.c Tejun Heo 2015-05-22 35 #include <linux/backing-dev.h>
16b374ca439fb4 fs/nfs/nfs4filelayout.c Andy Adamson 2010-10-20 36
0a702195234eb7 fs/nfs/nfs4filelayout.c Weston Andros Adamson 2012-02-17 37 #include <linux/sunrpc/metrics.h>
0a702195234eb7 fs/nfs/nfs4filelayout.c Weston Andros Adamson 2012-02-17 38
b5968725f46d95 fs/nfs/filelayout/filelayout.c Tom Haynes 2014-05-12 39 #include "../nfs4session.h"
b5968725f46d95 fs/nfs/filelayout/filelayout.c Tom Haynes 2014-05-12 40 #include "../internal.h"
b5968725f46d95 fs/nfs/filelayout/filelayout.c Tom Haynes 2014-05-12 41 #include "../delegation.h"
b5968725f46d95 fs/nfs/filelayout/filelayout.c Tom Haynes 2014-05-12 42 #include "filelayout.h"
b5968725f46d95 fs/nfs/filelayout/filelayout.c Tom Haynes 2014-05-12 43 #include "../nfs4trace.h"
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 44
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 45 #define NFSDBG_FACILITY NFSDBG_PNFS_LD
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 46
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 47 MODULE_LICENSE("GPL");
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 48 MODULE_AUTHOR("Dean Hildebrand <[email protected]>");
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 49 MODULE_DESCRIPTION("The NFSv4 file layout driver");
7ab672ce312133 fs/nfs/nfs4filelayout.c Dean Hildebrand 2010-10-20 50
cbdabc7f8bf14c fs/nfs/nfs4filelayout.c Andy Adamson 2011-03-01 51 #define FILELAYOUT_POLL_RETRY_MAX (15*HZ)
9c455a8c1e146d fs/nfs/filelayout/filelayout.c Trond Myklebust 2020-03-21 52 static const struct pnfs_commit_ops filelayout_commit_ops;
cbdabc7f8bf14c fs/nfs/nfs4filelayout.c Andy Adamson 2011-03-01 53
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 54 static loff_t
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 55 filelayout_get_dense_offset(struct nfs4_filelayout_segment *flseg,
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 56 loff_t offset)
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 57 {
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 58 u32 stripe_width = flseg->stripe_unit * flseg->dsaddr->stripe_count;
3476f114addb7b fs/nfs/nfs4filelayout.c Chris Metcalf 2011-08-11 59 u64 stripe_no;
3476f114addb7b fs/nfs/nfs4filelayout.c Chris Metcalf 2011-08-11 60 u32 rem;
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 61
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 62 offset -= flseg->pattern_offset;
3476f114addb7b fs/nfs/nfs4filelayout.c Chris Metcalf 2011-08-11 63 stripe_no = div_u64(offset, stripe_width);
3476f114addb7b fs/nfs/nfs4filelayout.c Chris Metcalf 2011-08-11 64 div_u64_rem(offset, flseg->stripe_unit, &rem);
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 65
3476f114addb7b fs/nfs/nfs4filelayout.c Chris Metcalf 2011-08-11 66 return stripe_no * flseg->stripe_unit + rem;
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 67 }
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 68
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 69 /* This function is used by the layout driver to calculate the
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 70 * offset of the file on the dserver based on whether the
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 71 * layout type is STRIPE_DENSE or STRIPE_SPARSE
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 72 */
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 73 static loff_t
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 74 filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset)
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 75 {
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 76 struct nfs4_filelayout_segment *flseg = FILELAYOUT_LSEG(lseg);
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 77
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 78 switch (flseg->stripe_type) {
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 79 case STRIPE_SPARSE:
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 80 return offset;
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 81
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 82 case STRIPE_DENSE:
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 83 return filelayout_get_dense_offset(flseg, offset);
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 84 }
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 85
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 86 BUG();
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 87 }
cfe7f4120f8b1b fs/nfs/nfs4filelayout.c Fred Isaman 2011-03-01 88
d45f60c67848b9 fs/nfs/filelayout/filelayout.c Weston Andros Adamson 2014-06-09 89 static void filelayout_reset_write(struct nfs_pgio_header *hdr)
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 90 {
d45f60c67848b9 fs/nfs/filelayout/filelayout.c Weston Andros Adamson 2014-06-09 91 struct rpc_task *task = &hdr->task;
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 92
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 93 if (!test_and_set_bit(NFS_IOHDR_REDO, &hdr->flags)) {
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 94 dprintk("%s Reset task %5u for i/o through MDS "
1e8968c5b05823 fs/nfs/nfs4filelayout.c Niels de Vos 2013-12-17 95 "(req %s/%llu, %u bytes @ offset %llu)\n", __func__,
d45f60c67848b9 fs/nfs/filelayout/filelayout.c Weston Andros Adamson 2014-06-09 @96 hdr->task.tk_pid,
497826af60f812 fs/nfs/nfs4filelayout.c Bryan Schumaker 2012-05-22 97 hdr->inode->i_sb->s_id,
1e8968c5b05823 fs/nfs/nfs4filelayout.c Niels de Vos 2013-12-17 98 (unsigned long long)NFS_FILEID(hdr->inode),
d45f60c67848b9 fs/nfs/filelayout/filelayout.c Weston Andros Adamson 2014-06-09 99 hdr->args.count,
d45f60c67848b9 fs/nfs/filelayout/filelayout.c Weston Andros Adamson 2014-06-09 100 (unsigned long long)hdr->args.offset);
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 101
53113ad35e4b9c fs/nfs/filelayout/filelayout.c Weston Andros Adamson 2014-06-09 102 task->tk_status = pnfs_write_done_resend_to_mds(hdr);
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 103 }
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 104 }
e7dd79af01e7ca fs/nfs/nfs4filelayout.c Andy Adamson 2012-04-27 105

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2023-10-12 10:11:38

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies

On Thu, Oct 12, 2023 at 9:09 AM kernel test robot <[email protected]> wrote:
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on trondmy-nfs/linux-next]
> [also build test ERROR on linus/master v6.6-rc5 next-20231011]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Geert-Uytterhoeven/sunrpc-Use-no_printk-in-dfprintk-dummies/20231011-181013
> base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
> patch link: https://lore.kernel.org/r/707e5e6dd0db9a663cf443564d1f8ee1c10a0086.1697018818.git.geert%2Brenesas%40glider.be
> patch subject: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies
> config: alpha-defconfig (https://download.01.org/0day-ci/archive/20231012/[email protected]/config)
> compiler: alpha-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231012/[email protected]/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <[email protected]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All error/warnings (new ones prefixed by >>):
>
> In file included from include/asm-generic/bug.h:22,
> from arch/alpha/include/asm/bug.h:23,
> from include/linux/bug.h:5,
> from include/linux/thread_info.h:13,
> from include/asm-generic/preempt.h:5,
> from ./arch/alpha/include/generated/asm/preempt.h:1,
> from include/linux/preempt.h:79,
> from include/linux/spinlock.h:56,
> from include/linux/mmzone.h:8,
> from include/linux/gfp.h:7,
> from include/linux/slab.h:16,
> from fs/lockd/svclock.c:25:
> fs/lockd/svclock.c: In function 'nlmsvc_lookup_block':
> >> fs/lockd/svclock.c:164:33: error: implicit declaration of function 'nlmdbg_cookie2a' [-Werror=implicit-function-declaration]
> 164 | nlmdbg_cookie2a(&block->b_call->a_args.cookie));
> | ^~~~~~~~~~~~~~~
> include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
> 427 | _p_func(_fmt, ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> include/linux/printk.h:129:17: note: in expansion of macro 'printk'
> 129 | printk(fmt, ##__VA_ARGS__); \
> | ^~~~~~
> include/linux/sunrpc/debug.h:70:41: note: in expansion of macro 'no_printk'
> 70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
> | ^~~~~~~~~
> include/linux/sunrpc/debug.h:25:9: note: in expansion of macro 'dfprintk'
> 25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
> | ^~~~~~~~
> fs/lockd/svclock.c:160:17: note: in expansion of macro 'dprintk'
> 160 | dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
> | ^~~~~~~
> >> fs/lockd/svclock.c:160:25: warning: format '%s' expects argument of type 'char *', but argument 7 has type 'int' [-Wformat=]

Thanks already fixed in v2.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2023-10-12 11:00:02

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies

Hi Geert,

kernel test robot noticed the following build warnings:

[auto build test WARNING on trondmy-nfs/linux-next]
[also build test WARNING on linus/master v6.6-rc5 next-20231012]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Geert-Uytterhoeven/sunrpc-Use-no_printk-in-dfprintk-dummies/20231011-181013
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
patch link: https://lore.kernel.org/r/707e5e6dd0db9a663cf443564d1f8ee1c10a0086.1697018818.git.geert%2Brenesas%40glider.be
patch subject: [PATCH] sunrpc: Use no_printk() in dfprintk*() dummies
config: powerpc-ebony_defconfig (https://download.01.org/0day-ci/archive/20231012/[email protected]/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231012/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

fs/lockd/svclock.c:164:5: error: call to undeclared function 'nlmdbg_cookie2a'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
164 | nlmdbg_cookie2a(&block->b_call->a_args.cookie));
| ^
>> fs/lockd/svclock.c:164:5: warning: format specifies type 'char *' but the argument has type 'int' [-Wformat]
164 | dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
| ~~
| %d
165 | block->b_file, fl->fl_pid,
166 | (long long)fl->fl_start,
167 | (long long)fl->fl_end, fl->fl_type,
168 | nlmdbg_cookie2a(&block->b_call->a_args.cookie));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/sunrpc/debug.h:25:28: note: expanded from macro 'dprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/sunrpc/debug.h:70:51: note: expanded from macro 'dfprintk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:129:17: note: expanded from macro 'no_printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:455:60: note: expanded from macro 'printk'
455 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:427:19: note: expanded from macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ~~~~ ^~~~~~~~~~~
fs/lockd/svclock.c:203:47: error: call to undeclared function 'nlmdbg_cookie2a'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
203 | dprintk("nlmsvc_find_block(%s): block=%p\n", nlmdbg_cookie2a(cookie), block);
| ^
fs/lockd/svclock.c:203:47: warning: format specifies type 'char *' but the argument has type 'int' [-Wformat]
203 | dprintk("nlmsvc_find_block(%s): block=%p\n", nlmdbg_cookie2a(cookie), block);
| ~~ ^~~~~~~~~~~~~~~~~~~~~~~
| %d
include/linux/sunrpc/debug.h:25:28: note: expanded from macro 'dprintk'
25 | dfprintk(FACILITY, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/sunrpc/debug.h:70:51: note: expanded from macro 'dfprintk'
70 | # define dfprintk(fac, fmt, ...) no_printk(fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:129:17: note: expanded from macro 'no_printk'
129 | printk(fmt, ##__VA_ARGS__); \
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:455:60: note: expanded from macro 'printk'
455 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:427:19: note: expanded from macro 'printk_index_wrap'
427 | _p_func(_fmt, ##__VA_ARGS__); \
| ~~~~ ^~~~~~~~~~~
fs/lockd/svclock.c:494:5: error: use of undeclared identifier 'inode'
494 | inode->i_sb->s_id, inode->i_ino,
| ^
fs/lockd/svclock.c:494:24: error: use of undeclared identifier 'inode'
494 | inode->i_sb->s_id, inode->i_ino,
| ^
2 warnings and 4 errors generated.


vim +164 fs/lockd/svclock.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 143
^1da177e4c3f41 Linus Torvalds 2005-04-16 144 /*
d9f6eb75d49007 Trond Myklebust 2006-03-20 145 * Find a block for a given lock
^1da177e4c3f41 Linus Torvalds 2005-04-16 146 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 147 static struct nlm_block *
d9f6eb75d49007 Trond Myklebust 2006-03-20 148 nlmsvc_lookup_block(struct nlm_file *file, struct nlm_lock *lock)
^1da177e4c3f41 Linus Torvalds 2005-04-16 149 {
68a2d76cea4234 Olaf Kirch 2006-10-04 150 struct nlm_block *block;
^1da177e4c3f41 Linus Torvalds 2005-04-16 151 struct file_lock *fl;
^1da177e4c3f41 Linus Torvalds 2005-04-16 152
^1da177e4c3f41 Linus Torvalds 2005-04-16 153 dprintk("lockd: nlmsvc_lookup_block f=%p pd=%d %Ld-%Ld ty=%d\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 154 file, lock->fl.fl_pid,
^1da177e4c3f41 Linus Torvalds 2005-04-16 155 (long long)lock->fl.fl_start,
^1da177e4c3f41 Linus Torvalds 2005-04-16 156 (long long)lock->fl.fl_end, lock->fl.fl_type);
be2be5f7f44364 Alexander Aring 2023-07-20 157 spin_lock(&nlm_blocked_lock);
68a2d76cea4234 Olaf Kirch 2006-10-04 158 list_for_each_entry(block, &nlm_blocked, b_list) {
92737230dd3f14 Trond Myklebust 2006-03-20 159 fl = &block->b_call->a_args.lock.fl;
^1da177e4c3f41 Linus Torvalds 2005-04-16 160 dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 161 block->b_file, fl->fl_pid,
^1da177e4c3f41 Linus Torvalds 2005-04-16 162 (long long)fl->fl_start,
^1da177e4c3f41 Linus Torvalds 2005-04-16 163 (long long)fl->fl_end, fl->fl_type,
92737230dd3f14 Trond Myklebust 2006-03-20 @164 nlmdbg_cookie2a(&block->b_call->a_args.cookie));
^1da177e4c3f41 Linus Torvalds 2005-04-16 165 if (block->b_file == file && nlm_compare_locks(fl, &lock->fl)) {
6849c0cab69f5d Trond Myklebust 2006-03-20 166 kref_get(&block->b_count);
be2be5f7f44364 Alexander Aring 2023-07-20 167 spin_unlock(&nlm_blocked_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 168 return block;
^1da177e4c3f41 Linus Torvalds 2005-04-16 169 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 170 }
be2be5f7f44364 Alexander Aring 2023-07-20 171 spin_unlock(&nlm_blocked_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 172
^1da177e4c3f41 Linus Torvalds 2005-04-16 173 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 174 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 175

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki