Re: [PATCH] seqlock: <linux/seqlock.h>: fix multiple kernel-doc warnings

From: kernel test robot
Date: Sun Aug 16 2020 - 19:40:09 EST


Hi Randy,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.9-rc1 next-20200814]
[cannot apply to tip/locking/core linux/master]
[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]

url: https://github.com/0day-ci/linux/commits/Randy-Dunlap/seqlock-linux-seqlock-h-fix-multiple-kernel-doc-warnings/20200817-062836
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
config: x86_64-randconfig-s022-20200817 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-180-g49f7e13a-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/linux/mmzone.h:16,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
>> include/linux/seqlock.h:157:10: error: stray '##' in program
157 | seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
| ^~
>> include/linux/seqlock.h:157:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'lockname'
157 | seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
| ^~~~~~~~
include/linux/seqlock.h:157:20: error: stray '##' in program
157 | seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
| ^~
>> include/linux/seqlock.h:157:12: error: unknown type name 'lockname'
157 | seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
| ^~~~~~~~
include/linux/seqlock.h:157:37: error: stray '##' in program
157 | seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
| ^~
include/linux/seqlock.h:157:47: error: stray '##' in program
157 | seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
| ^~
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1203: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.

# https://github.com/0day-ci/linux/commit/360da27b2632939e5188f48d211b8a39cfdb8cde
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Randy-Dunlap/seqlock-linux-seqlock-h-fix-multiple-kernel-doc-warnings/20200817-062836
git checkout 360da27b2632939e5188f48d211b8a39cfdb8cde
vim +157 include/linux/seqlock.h

139
140 /**
141 * typedef seqcount_LOCKNAME_t - sequence counter with LOCKTYPE associated
142 * @seqcount: The real sequence counter
143 * @lock: Pointer to the associated spinlock
144 *
145 * A plain sequence counter with external writer synchronization by a
146 * spinlock. The spinlock is associated to the sequence count in the
147 * static initializer or init function. This enables lockdep to validate
148 * that the write side critical section is properly serialized.
149 */
150
151 /*
152 * seqcount_LOCKNAME_init() - runtime initializer for seqcount_LOCKNAME_t
153 * @s: Pointer to the seqcount_LOCKNAME_t instance
154 * @lock: Pointer to the associated LOCKTYPE
155 */
156 static __always_inline void \
> 157 seqcount_##lockname##_init(seqcount_##lockname##_t *s, locktype *lock) \
158 { \
159 seqcount_init(&s->seqcount); \
160 __SEQ_LOCK(s->lock = lock); \
161 } \
162

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip