Buildresult: kbuild/sparc64-defconfig/sparc64-gcc5 built on Jun 12 2023, 03:00
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Jun 12 2023, 03:00
Duration:
0:01:21.048616
Builder:
alpine3
Revision:
Revert "[PATCH] uml: export symbols added by GCC hardened" (
7e67dd4899d866115be2f68fa3f328616cd60408)
Target:
kbuild/sparc64-defconfig/sparc64-gcc5
Branch:
kbuild
Compiler:
sparc64-gcc5
(sparc64-linux-gcc (GCC) 5.5.0 / GNU ld (GNU Binutils) 2.29.1.20170915)
Config:
defconfig
(
download
)
Log:
Download original
Possible warnings (2)
<stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned.
Full Log
# git rev-parse -q --verify 7e67dd4899d866115be2f68fa3f328616cd60408^{commit} 7e67dd4899d866115be2f68fa3f328616cd60408 already have revision, skipping fetch # git checkout -q -f -B kisskb 7e67dd4899d866115be2f68fa3f328616cd60408 # git clean -qxdf # < git log -1 # commit 7e67dd4899d866115be2f68fa3f328616cd60408 # Author: Masahiro Yamada <masahiroy@kernel.org> # Date: Sat Jun 10 18:13:10 2023 +0900 # # Revert "[PATCH] uml: export symbols added by GCC hardened" # # This reverts commit cead61a6717a9873426b08d73a34a325e3546f5d. # # It exported __stack_smash_handler and __guard, while they may not be # defined by anyone. # # The code *declares* __stack_smash_handler and __guard. It does not # create weak symbols. If no external library is linked, they are left # undefined, but yet exported. # # If a loadable module tries to access non-existing symbols, bad things # (a page fault, NULL pointer dereference, etc.) will happen. So, the # current code is wrong and dangerous. # # If the code were written as follows, it would *define* them as weak # symbols so modules would be able to get access to them. # # void (*__stack_smash_handler)(void *) __attribute__((weak)); # EXPORT_SYMBOL(__stack_smash_handler); # # long __guard __attribute__((weak)); # EXPORT_SYMBOL(__guard); # # In fact, modpost forbids exporting undefined symbols. It shows an error # message if it detects such a mistake. # # ERROR: modpost: "..." [...] was exported without definition # # Unfortunately, it is checked only when the code is built as modular. # The problem described above has been unnoticed for a long time because # arch/um/os-Linux/user_syms.c is always built-in. # # With a planned change in Kbuild, exporting undefined symbols will always # result in a build error instead of a run-time error. It is a good thing, # but we need to fix the breakage in advance. # # One fix is to define weak symbols as shown above. An alternative is to # export them conditionally as follows: # # #ifdef CONFIG_STACKPROTECTOR # extern void __stack_smash_handler(void *); # EXPORT_SYMBOL(__stack_smash_handler); # # external long __guard; # EXPORT_SYMBOL(__guard); # #endif # # This is what other architectures do; EXPORT_SYMBOL(__stack_chk_guard) # is guarded by #ifdef CONFIG_STACKPROTECTOR. # # However, adding the #ifdef guard is not sensible because UML cannot # enable the stack-protector in the first place! (Please note UML does # not select HAVE_STACKPROTECTOR in Kconfig.) # # So, the code is already broken (and unused) in multiple ways. # # Just remove. # # Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> # Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 7e67dd4899d866115be2f68fa3f328616cd60408 # make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 160 ARCH=sparc64 O=/kisskb/build/kbuild_defconfig_sparc64-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/sparc64-linux/bin/sparc64-linux- <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned. Is "_mcount" prototyped in <asm/asm-prototypes.h>? kernel: arch/sparc/boot/image is ready kernel: arch/sparc/boot/zImage is ready Completed OK # rm -rf /kisskb/build/kbuild_defconfig_sparc64-gcc5 # Build took: 0:01:21.048616
© Michael Ellerman 2006-2018.