Buildresult: linus/mvebu_v7_defconfig/arm-gcc4.9 built on Apr 11 2020, 08:57
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Apr 11 2020, 08:57
Duration:
0:01:45.188056
Builder:
blade46
Revision:
printk: queue wake_up_klogd irq_work only if per-CPU areas are ready (
ab6f762f0f53162d41497708b33c9a3236d3609e)
Target:
linus/mvebu_v7_defconfig/arm-gcc4.9
Branch:
linus
Compiler:
arm-gcc4.9
(arm-linux-gnueabi-gcc (GCC) 4.9.4 / GNU ld (GNU Binutils) 2.29.1.20170915)
Config:
mvebu_v7_defconfig
(
download
)
Log:
Download original
Possible warnings (1)
kernel/futex.c:1676:17: warning: 'oldval' may be used uninitialized in this function [-Wmaybe-uninitialized]
Full Log
# git rev-parse -q --verify ab6f762f0f53162d41497708b33c9a3236d3609e^{commit} ab6f762f0f53162d41497708b33c9a3236d3609e already have revision, skipping fetch # git checkout -q -f -B kisskb ab6f762f0f53162d41497708b33c9a3236d3609e # git clean -qxdf # < git log -1 # commit ab6f762f0f53162d41497708b33c9a3236d3609e # Author: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> # Date: Tue Mar 3 20:30:02 2020 +0900 # # printk: queue wake_up_klogd irq_work only if per-CPU areas are ready # # printk_deferred(), similarly to printk_safe/printk_nmi, does not # immediately attempt to print a new message on the consoles, avoiding # calls into non-reentrant kernel paths, e.g. scheduler or timekeeping, # which potentially can deadlock the system. # # Those printk() flavors, instead, rely on per-CPU flush irq_work to print # messages from safer contexts. For same reasons (recursive scheduler or # timekeeping calls) printk() uses per-CPU irq_work in order to wake up # user space syslog/kmsg readers. # # However, only printk_safe/printk_nmi do make sure that per-CPU areas # have been initialised and that it's safe to modify per-CPU irq_work. # This means that, for instance, should printk_deferred() be invoked "too # early", that is before per-CPU areas are initialised, printk_deferred() # will perform illegal per-CPU access. # # Lech Perczak [0] reports that after commit 1b710b1b10ef ("char/random: # silence a lockdep splat with printk()") user-space syslog/kmsg readers # are not able to read new kernel messages. # # The reason is printk_deferred() being called too early (as was pointed # out by Petr and John). # # Fix printk_deferred() and do not queue per-CPU irq_work before per-CPU # areas are initialized. # # Link: https://lore.kernel.org/lkml/aa0732c6-5c4e-8a8b-a1c1-75ebe3dca05b@camlintechnologies.com/ # Reported-by: Lech Perczak <l.perczak@camlintechnologies.com> # Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> # Tested-by: Jann Horn <jannh@google.com> # Reviewed-by: Petr Mladek <pmladek@suse.com> # Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> # Cc: Theodore Ts'o <tytso@mit.edu> # Cc: John Ogness <john.ogness@linutronix.de> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 ab6f762f0f53162d41497708b33c9a3236d3609e # < make -s -j 32 ARCH=arm O=/kisskb/build/linus_mvebu_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- mvebu_v7_defconfig # < make -s -j 32 ARCH=arm O=/kisskb/build/linus_mvebu_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- help # make -s -j 32 ARCH=arm O=/kisskb/build/linus_mvebu_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- olddefconfig # make -s -j 32 ARCH=arm O=/kisskb/build/linus_mvebu_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- /kisskb/src/kernel/futex.c: In function 'do_futex': /kisskb/src/kernel/futex.c:1676:17: warning: 'oldval' may be used uninitialized in this function [-Wmaybe-uninitialized] return oldval == cmparg; ^ /kisskb/src/kernel/futex.c:1652:6: note: 'oldval' was declared here int oldval, ret; ^ Completed OK # rm -rf /kisskb/build/linus_mvebu_v7_defconfig_arm-gcc4.9 # Build took: 0:01:45.188056
© Michael Ellerman 2006-2018.