lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 13 Feb 2021 14:29:52 +0000
From:   Chris Down <>
To:     kernel test robot <>
        Petr Mladek <>,
        Sergey Senozhatsky <>,
        John Ogness <>,
        Johannes Weiner <>,
        Andrew Morton <>,
        Linux Memory Management List <>,
        Steven Rostedt <>,
        Greg Kroah-Hartman <>,
        Kees Cook <>
Subject: Re: [PATCH v4] printk: Userspace format enumeration support

kernel test robot writes:
>Hi Chris,
>Thank you for the patch! Yet something to improve:

I'm pretty sure !CONFIG_PRINTK && CONFIG_IA64_DEBUG_CMPXCHG has been broken 
like this long before this change.

With !CONFIG_PRINTK, printk() is static in the header, but ia64's cmpxchg.h 
with CONFIG_IA64_DEBUG_CMPXCHG doesn't take this into account before trying to 
use it as extern.

CONFIG_IA64_DEBUG_CMPXCHG should be dependent on CONFIG_PRINTK. I'll send a 
separate patch for that, no reason to put it in this series. Not sure why LKP 
only caught it now though.

Here's how it is even on the parent commit LKP applied this patch to:

     % git checkout bff4c8b4b0b9bcc31917d3b0f1a01a7573a1f473^
     Previous HEAD position was bff4c8b4b0b9 printk: Userspace format enumeration support
     HEAD is now at 1fa67f8391ac module: mark TRIM_UNUSED_KSYMS as BROKEN on powerpc
     % COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 /tmp/make.cross ARCH=ia64 -s
     Compiler will be installed in /home/cdown/0day
     make W=1 CROSS_COMPILE=/home/cdown/0day/gcc-9.3.0-nolibc/ia64-linux/bin/ia64-linux- --jobs=32 ARCH=ia64 -s
     In file included from ./include/linux/kernel.h:16,
                      from ./include/asm-generic/bug.h:20,
                      from ./arch/ia64/include/asm/bug.h:17,
                      from ./include/linux/bug.h:5,
                      from ./include/linux/page-flags.h:10,
                      from kernel/bounds.c:10:
     ./include/linux/printk.h:219:5: error: static declaration of 'printk' follows non-static declaration
       219 | int printk(const char *s, ...)
           |     ^~~~~~
     In file included from ./arch/ia64/include/uapi/asm/intrinsics.h:22,
                      from ./arch/ia64/include/asm/intrinsics.h:11,
                      from ./arch/ia64/include/asm/bitops.h:19,
                      from ./include/linux/bitops.h:32,
                      from ./include/linux/kernel.h:11,
                      from ./include/asm-generic/bug.h:20,
                      from ./arch/ia64/include/asm/bug.h:17,
                      from ./include/linux/bug.h:5,
                      from ./include/linux/page-flags.h:10,
                      from kernel/bounds.c:10:
     ./arch/ia64/include/uapi/asm/cmpxchg.h:142:14: note: previous declaration of 'printk' was here
       142 |   extern int printk(const char *fmt, ...);  \
           |              ^~~~~~
     ./arch/ia64/include/asm/bitops.h:309:3: note: in expansion of macro 'CMPXCHG_BUGCHECK'
       309 |   CMPXCHG_BUGCHECK(m);
           |   ^~~~~~~~~~~~~~~~
     make[1]: *** [scripts/ kernel/bounds.s] Error 1
     make[1]: *** Waiting for unfinished jobs....
     make: *** [Makefile:1206: prepare0] Error 2

Powered by blists - more mailing lists