Messages in this thread |  | | Date | Sat, 13 Jun 2020 16:29:01 +0200 | From | Luc Van Oostenryck <> | Subject | Re: [PATCH] printk: Make linux/printk.h self-contained |
| |
On Sat, Jun 13, 2020 at 11:09:49PM +1000, Herbert Xu wrote: > On Sat, Jun 13, 2020 at 08:28:34PM +0800, kernel test robot wrote: > > > > Hi Herbert, > > > > I love your patch! Perhaps something to improve: > > > > [auto build test WARNING on linus/master] > > [also build test WARNING on v5.7 next-20200611] > > [if your patch is applied to the wrong git tree, please drop us a note to help > > improve the system. BTW, we also suggest to use '--base' option to specify the > > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > > > url: https://github.com/0day-ci/linux/commits/Herbert-Xu/printk-Make-linux-printk-h-self-contained/20200611-205340 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b29482fde649c72441d5478a4ea2c52c56d97a5e > > :::::: branch date: 13 hours ago > > :::::: commit date: 13 hours ago > > config: powerpc-randconfig-s031-20200611 (attached as .config) > > compiler: powerpc64le-linux-gcc (GCC) 9.3.0 > > reproduce: > > # apt-get install sparse > > # sparse version: v0.6.1-250-g42323db3-dirty > > # save the attached .config to linux build tree > > make W=1 C=1 ARCH=powerpc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot <lkp@intel.com> > > > > > > sparse warnings: (new ones prefixed by >>) > > > > >> include/linux/ratelimit_types.h:16:25: sparse: sparse: expected ; at end of declaration > > include/linux/ratelimit_types.h:16:25: sparse: sparse: Expected } at end of struct-union-enum-specifier > > include/linux/ratelimit_types.h:16:25: sparse: sparse: got lock > > include/linux/ratelimit_types.h:24:1: sparse: sparse: Expected ; at the end of type declaration > > include/linux/ratelimit_types.h:24:1: sparse: sparse: got } > > This looks like a bug in sparse as the same code compiles just > fine.
Hi,
When trying to reproduce, before using sparse, I get: CC kernel/ptrace.o In file included from ./include/linux/printk.h:10:0, from ./include/linux/kernel.h:15, from ./include/linux/list.h:9, from ./include/linux/lockdep.h:43, from ./include/linux/spinlock_types.h:18, from ./arch/powerpc/include/asm/lppaca.h:45, from ./arch/powerpc/include/asm/paca.h:17, from ./arch/powerpc/include/asm/current.h:13, from ./include/linux/sched.h:12, from kernel/ptrace.c:13: ./include/linux/ratelimit_types.h:16:2: error: unknown type name ‘raw_spinlock_t’ raw_spinlock_t lock; /* protect the state */ ^ In file included from ./include/linux/wait.h:9:0, from ./include/linux/pid.h:6, from ./include/linux/sched.h:14, from kernel/ptrace.c:13: ./include/linux/ratelimit.h: In function ‘ratelimit_state_init’: ./include/linux/spinlock.h:100:16: warning: passing argument 1 of ‘__raw_spin_lock_init’ from incompatible pointer type [enabled by default] static struct lock_class_key __key; \ ^ ./include/linux/ratelimit.h:14:2: note: in expansion of macro ‘raw_spin_lock_init’ raw_spin_lock_init(&rs->lock); ^ ./include/linux/spinlock.h:95:15: note: expected ‘struct raw_spinlock_t *’ but argument is of type ‘int *’ extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name, ^ make[1]: *** [scripts/Makefile.build:281: kernel/ptrace.o] Error 1 make: *** [Makefile:1777: kernel] Error 2
while there is no such problem with the previous commit. I think the problem is that: * ratelimit.h needs raw_spinlock_t * spinlock_types.h needs lockdep.h * lockdep.h needs ratelimit.h
Best regards, Luc
|  |