[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6b5c92c4-2170-8ce9-3c9f-45c0e1893e03@igalia.com>
Date: Mon, 11 Aug 2025 20:19:08 +0530
From: Bhupesh Sharma <bhsharma@...lia.com>
To: kernel test robot <lkp@...el.com>, Bhupesh <bhupesh@...lia.com>,
akpm@...ux-foundation.org
Cc: oe-kbuild-all@...ts.linux.dev, kernel-dev@...lia.com,
linux-kernel@...r.kernel.org, bpf@...r.kernel.org,
linux-perf-users@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org, oliver.sang@...el.com, laoar.shao@...il.com,
pmladek@...e.com, rostedt@...dmis.org, mathieu.desnoyers@...icios.com,
arnaldo.melo@...il.com, alexei.starovoitov@...il.com,
andrii.nakryiko@...il.com, mirq-linux@...e.qmqm.pl, peterz@...radead.org,
willy@...radead.org, david@...hat.com, viro@...iv.linux.org.uk,
keescook@...omium.org, ebiederm@...ssion.com, brauner@...nel.org,
jack@...e.cz, mingo@...hat.com, juri.lelli@...hat.com, bsegall@...gle.com,
mgorman@...e.de
Subject: Re: [PATCH v7 3/4] treewide: Replace 'get_task_comm()' with
'strscpy_pad()'
Hi,
On 8/11/25 4:55 PM, kernel test robot wrote:
> Hi Bhupesh,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on next-20250808]
> [cannot apply to trace/for-next tip/sched/core brauner-vfs/vfs.all linus/master v6.17-rc1 v6.16 v6.16-rc7 v6.17-rc1]
> [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/Bhupesh/exec-Remove-obsolete-comments/20250811-144920
> base: next-20250808
> patch link: https://lore.kernel.org/r/20250811064609.918593-4-bhupesh%40igalia.com
> patch subject: [PATCH v7 3/4] treewide: Replace 'get_task_comm()' with 'strscpy_pad()'
> config: sh-randconfig-002-20250811 (https://download.01.org/0day-ci/archive/20250811/202508111835.JFL8DgKY-lkp@intel.com/config)
> compiler: sh4-linux-gcc (GCC) 15.1.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250811/202508111835.JFL8DgKY-lkp@intel.com/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 <lkp@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202508111835.JFL8DgKY-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/bitmap.h:13,
> from include/linux/cpumask.h:12,
> from include/linux/smp.h:13,
> from include/linux/lockdep.h:14,
> from include/linux/spinlock.h:63,
> from include/linux/mmzone.h:8,
> from include/linux/gfp.h:7,
> from include/linux/umh.h:4,
> from include/linux/kmod.h:9,
> from include/linux/module.h:18,
> from net/netfilter/nf_tables_api.c:8:
> net/netfilter/nf_tables_api.c: In function 'nf_tables_fill_gen_info':
>>> include/linux/string.h:116:50: error: passing argument 3 of 'nla_put_string' makes pointer from integer without a cast [-Wint-conversion]
> 116 | #define sized_strscpy_pad(dest, src, count) ({ \
> | ~^~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | ssize_t {aka int}
> 117 | char *__dst = (dest); \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 118 | const char *__src = (src); \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 119 | const size_t __count = (count); \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 120 | ssize_t __wrote; \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 121 | \
> | ~
> 122 | __wrote = sized_strscpy(__dst, __src, __count); \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 123 | if (__wrote >= 0 && __wrote < __count) \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 124 | memset(__dst + __wrote + 1, 0, __count - __wrote - 1); \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 125 | __wrote; \
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 126 | })
> | ~~
> include/linux/string.h:86:9: note: in expansion of macro 'sized_strscpy_pad'
> 86 | sized_strscpy_pad(dst, src, sizeof(dst) + __must_be_array(dst) + \
> | ^~~~~~~~~~~~~~~~~
> include/linux/args.h:25:24: note: in expansion of macro '__strscpy_pad0'
> 25 | #define __CONCAT(a, b) a ## b
> | ^
> include/linux/args.h:26:27: note: in expansion of macro '__CONCAT'
> 26 | #define CONCATENATE(a, b) __CONCAT(a, b)
> | ^~~~~~~~
> include/linux/string.h:149:9: note: in expansion of macro 'CONCATENATE'
> 149 | CONCATENATE(__strscpy_pad, COUNT_ARGS(__VA_ARGS__))(dst, src, __VA_ARGS__)
> | ^~~~~~~~~~~
> net/netfilter/nf_tables_api.c:9661:53: note: in expansion of macro 'strscpy_pad'
> 9661 | nla_put_string(skb, NFTA_GEN_PROC_NAME, strscpy_pad(buf, current->comm)))
> | ^~~~~~~~~~~
> In file included from include/linux/netfilter/nfnetlink.h:7,
> from net/netfilter/nf_tables_api.c:17:
> include/net/netlink.h:1655:46: note: expected 'const char *' but argument is of type 'ssize_t' {aka 'int'}
> 1655 | const char *str)
> | ~~~~~~~~~~~~^~~
>
>
> vim +/nla_put_string +116 include/linux/string.h
>
> e6584c3964f2ff Kees Cook 2023-09-20 74
> e6584c3964f2ff Kees Cook 2023-09-20 75 /*
> e6584c3964f2ff Kees Cook 2023-09-20 76 * The 2 argument style can only be used when dst is an array with a
> e6584c3964f2ff Kees Cook 2023-09-20 77 * known size.
> e6584c3964f2ff Kees Cook 2023-09-20 78 */
> e6584c3964f2ff Kees Cook 2023-09-20 79 #define __strscpy0(dst, src, ...) \
> 559048d156ff33 Kees Cook 2024-08-05 80 sized_strscpy(dst, src, sizeof(dst) + __must_be_array(dst) + \
> 559048d156ff33 Kees Cook 2024-08-05 81 __must_be_cstr(dst) + __must_be_cstr(src))
> 559048d156ff33 Kees Cook 2024-08-05 82 #define __strscpy1(dst, src, size) \
> 559048d156ff33 Kees Cook 2024-08-05 83 sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
> e6584c3964f2ff Kees Cook 2023-09-20 84
> 8366d124ec937c Kees Cook 2024-02-02 85 #define __strscpy_pad0(dst, src, ...) \
> 559048d156ff33 Kees Cook 2024-08-05 86 sized_strscpy_pad(dst, src, sizeof(dst) + __must_be_array(dst) + \
> 559048d156ff33 Kees Cook 2024-08-05 87 __must_be_cstr(dst) + __must_be_cstr(src))
> 559048d156ff33 Kees Cook 2024-08-05 88 #define __strscpy_pad1(dst, src, size) \
> 559048d156ff33 Kees Cook 2024-08-05 89 sized_strscpy_pad(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
> 458a3bf82df4fe Tobin C. Harding 2019-04-05 90
> e6584c3964f2ff Kees Cook 2023-09-20 91 /**
> e6584c3964f2ff Kees Cook 2023-09-20 92 * strscpy - Copy a C-string into a sized buffer
> e6584c3964f2ff Kees Cook 2023-09-20 93 * @dst: Where to copy the string to
> e6584c3964f2ff Kees Cook 2023-09-20 94 * @src: Where to copy the string from
> e6584c3964f2ff Kees Cook 2023-09-20 95 * @...: Size of destination buffer (optional)
> e6584c3964f2ff Kees Cook 2023-09-20 96 *
> e6584c3964f2ff Kees Cook 2023-09-20 97 * Copy the source string @src, or as much of it as fits, into the
> e6584c3964f2ff Kees Cook 2023-09-20 98 * destination @dst buffer. The behavior is undefined if the string
> e6584c3964f2ff Kees Cook 2023-09-20 99 * buffers overlap. The destination @dst buffer is always NUL terminated,
> e6584c3964f2ff Kees Cook 2023-09-20 100 * unless it's zero-sized.
> e6584c3964f2ff Kees Cook 2023-09-20 101 *
> e6584c3964f2ff Kees Cook 2023-09-20 102 * The size argument @... is only required when @dst is not an array, or
> e6584c3964f2ff Kees Cook 2023-09-20 103 * when the copy needs to be smaller than sizeof(@dst).
> e6584c3964f2ff Kees Cook 2023-09-20 104 *
> e6584c3964f2ff Kees Cook 2023-09-20 105 * Preferred to strncpy() since it always returns a valid string, and
> e6584c3964f2ff Kees Cook 2023-09-20 106 * doesn't unnecessarily force the tail of the destination buffer to be
> e6584c3964f2ff Kees Cook 2023-09-20 107 * zero padded. If padding is desired please use strscpy_pad().
> e6584c3964f2ff Kees Cook 2023-09-20 108 *
> e6584c3964f2ff Kees Cook 2023-09-20 109 * Returns the number of characters copied in @dst (not including the
> e6584c3964f2ff Kees Cook 2023-09-20 110 * trailing %NUL) or -E2BIG if @size is 0 or the copy from @src was
> e6584c3964f2ff Kees Cook 2023-09-20 111 * truncated.
> e6584c3964f2ff Kees Cook 2023-09-20 112 */
> e6584c3964f2ff Kees Cook 2023-09-20 113 #define strscpy(dst, src, ...) \
> e6584c3964f2ff Kees Cook 2023-09-20 114 CONCATENATE(__strscpy, COUNT_ARGS(__VA_ARGS__))(dst, src, __VA_ARGS__)
> 458a3bf82df4fe Tobin C. Harding 2019-04-05 115
> 8366d124ec937c Kees Cook 2024-02-02 @116 #define sized_strscpy_pad(dest, src, count) ({ \
> 8366d124ec937c Kees Cook 2024-02-02 117 char *__dst = (dest); \
> 8366d124ec937c Kees Cook 2024-02-02 118 const char *__src = (src); \
> 8366d124ec937c Kees Cook 2024-02-02 119 const size_t __count = (count); \
> 8366d124ec937c Kees Cook 2024-02-02 120 ssize_t __wrote; \
> 8366d124ec937c Kees Cook 2024-02-02 121 \
> 8366d124ec937c Kees Cook 2024-02-02 122 __wrote = sized_strscpy(__dst, __src, __count); \
> 8366d124ec937c Kees Cook 2024-02-02 123 if (__wrote >= 0 && __wrote < __count) \
> 8366d124ec937c Kees Cook 2024-02-02 124 memset(__dst + __wrote + 1, 0, __count - __wrote - 1); \
> 8366d124ec937c Kees Cook 2024-02-02 125 __wrote; \
> 8366d124ec937c Kees Cook 2024-02-02 126 })
> 8366d124ec937c Kees Cook 2024-02-02 127
>
As mentioned in the accompanying cover letter, this patchset is based on
'linux-next/master' (the exact sha-id used for rebase is:
b1549501188cc9eba732c25b033df7a53ccc341f ).
Thanks,
Bhupesh
Powered by blists - more mailing lists