Buildresult: linus/sparc-allmodconfig/sparc64-gcc5 built on May 13 2021, 04:10
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
Failed
Date/Time:
May 13 2021, 04:10
Duration:
0:14:03.559457
Builder:
blade46
Revision:
ptrace: make ptrace() fail if the tracee changed its pid unexpectedly (
dbb5afad100a828c97e012c6106566d99f041db6)
Target:
linus/sparc-allmodconfig/sparc64-gcc5
Branch:
linus
Compiler:
sparc64-gcc5
(sparc64-linux-gcc.br_real (Buildroot 2016.11-git-00613-ge98b4dd) 5.4.0 / GNU ld (GNU Binutils) 2.26.1)
Config:
allmodconfig
(
download
)
Log:
Download original
Possible errors
arch/sparc/kernel/head_32.o:(.head.text+0x5040): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o:(.head.text+0x5100): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o:(.init.text+0xa4): relocation truncated to fit: R_SPARC_WDISP22 against symbol `leon_smp_cpu_startup' defined in .text section in arch/sparc/kernel/trampoline_32.o arch/sparc/kernel/process_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/process_32.o:(.fixup+0xc): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x10): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x1c): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x28): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x34): relocation truncated to fit: R_SPARC_WDISP22 against `.text' make[1]: *** [Makefile:1191: vmlinux] Error 1 make: *** [Makefile:215: __sub-make] Error 2
Possible warnings (20)
warning: The last gc run reported the following. Please correct the root cause warning: There are too many unreachable loose objects; run 'git prune' to remove them. <stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] drivers/tty/serial/sunzilog.c:1128:13: warning: 'sunzilog_putchar' defined but not used [-Wunused-function] drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. WARNING: modpost: EXPORT symbol "bzero_1page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_read_exit" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_read_try" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__ndelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__ashrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "empty_zero_page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__udelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__lshrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_write_enter" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__ashldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__copy_1page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__muldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__divdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_read_enter" [vmlinux] version generation failed, symbol will not be versioned.
Full Log
# git rev-parse -q --verify dbb5afad100a828c97e012c6106566d99f041db6^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log. Automatic cleanup will not be performed until the file is removed. warning: There are too many unreachable loose objects; run 'git prune' to remove them. # git rev-parse -q --verify dbb5afad100a828c97e012c6106566d99f041db6^{commit} dbb5afad100a828c97e012c6106566d99f041db6 # git checkout -q -f -B kisskb dbb5afad100a828c97e012c6106566d99f041db6 # git clean -qxdf # < git log -1 # commit dbb5afad100a828c97e012c6106566d99f041db6 # Author: Oleg Nesterov <oleg@redhat.com> # Date: Wed May 12 15:33:08 2021 +0200 # # ptrace: make ptrace() fail if the tracee changed its pid unexpectedly # # Suppose we have 2 threads, the group-leader L and a sub-theread T, # both parked in ptrace_stop(). Debugger tries to resume both threads # and does # # ptrace(PTRACE_CONT, T); # ptrace(PTRACE_CONT, L); # # If the sub-thread T execs in between, the 2nd PTRACE_CONT doesn not # resume the old leader L, it resumes the post-exec thread T which was # actually now stopped in PTHREAD_EVENT_EXEC. In this case the # PTHREAD_EVENT_EXEC event is lost, and the tracer can't know that the # tracee changed its pid. # # This patch makes ptrace() fail in this case until debugger does wait() # and consumes PTHREAD_EVENT_EXEC which reports old_pid. This affects all # ptrace requests except the "asynchronous" PTRACE_INTERRUPT/KILL. # # The patch doesn't add the new PTRACE_ option to not complicate the API, # and I _hope_ this won't cause any noticeable regression: # # - If debugger uses PTRACE_O_TRACEEXEC and the thread did an exec # and the tracer does a ptrace request without having consumed # the exec event, it's 100% sure that the thread the ptracer # thinks it is targeting does not exist anymore, or isn't the # same as the one it thinks it is targeting. # # - To some degree this patch adds nothing new. In the scenario # above ptrace(L) can fail with -ESRCH if it is called after the # execing sub-thread wakes the leader up and before it "steals" # the leader's pid. # # Test-case: # # #include <stdio.h> # #include <unistd.h> # #include <signal.h> # #include <sys/ptrace.h> # #include <sys/wait.h> # #include <errno.h> # #include <pthread.h> # #include <assert.h> # # void *tf(void *arg) # { # execve("/usr/bin/true", NULL, NULL); # assert(0); # # return NULL; # } # # int main(void) # { # int leader = fork(); # if (!leader) { # kill(getpid(), SIGSTOP); # # pthread_t th; # pthread_create(&th, NULL, tf, NULL); # for (;;) # pause(); # # return 0; # } # # waitpid(leader, NULL, WSTOPPED); # # ptrace(PTRACE_SEIZE, leader, 0, # PTRACE_O_TRACECLONE | PTRACE_O_TRACEEXEC); # waitpid(leader, NULL, 0); # # ptrace(PTRACE_CONT, leader, 0,0); # waitpid(leader, NULL, 0); # # int status, thread = waitpid(-1, &status, 0); # assert(thread > 0 && thread != leader); # assert(status == 0x80137f); # # ptrace(PTRACE_CONT, thread, 0,0); # /* # * waitid() because waitpid(leader, &status, WNOWAIT) does not # * report status. Why ???? # * # * Why WEXITED? because we have another kernel problem connected # * to mt-exec. # */ # siginfo_t info; # assert(waitid(P_PID, leader, &info, WSTOPPED|WEXITED|WNOWAIT) == 0); # assert(info.si_pid == leader && info.si_status == 0x0405); # # /* OK, it sleeps in ptrace(PTRACE_EVENT_EXEC == 0x04) */ # assert(ptrace(PTRACE_CONT, leader, 0,0) == -1); # assert(errno == ESRCH); # # assert(leader == waitpid(leader, &status, WNOHANG)); # assert(status == 0x04057f); # # assert(ptrace(PTRACE_CONT, leader, 0,0) == 0); # # return 0; # } # # Signed-off-by: Oleg Nesterov <oleg@redhat.com> # Reported-by: Simon Marchi <simon.marchi@efficios.com> # Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> # Acked-by: Pedro Alves <palves@redhat.com> # Acked-by: Simon Marchi <simon.marchi@efficios.com> # Acked-by: Jan Kratochvil <jan.kratochvil@redhat.com> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 dbb5afad100a828c97e012c6106566d99f041db6 # < make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- allmodconfig # Added to kconfig CONFIG_64BIT=n # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- help # make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- olddefconfig # make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- <stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/drivers/tty/serial/sunzilog.c:1128:13: warning: 'sunzilog_putchar' defined but not used [-Wunused-function] static void sunzilog_putchar(struct uart_port *port, int ch) ^ /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^ WARNING: modpost: EXPORT symbol "bzero_1page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_read_exit" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_read_try" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__ndelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__ashrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "empty_zero_page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__udelay" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__lshrdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_write_enter" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__ashldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__copy_1page" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__muldi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "__divdi3" [vmlinux] version generation failed, symbol will not be versioned. WARNING: modpost: EXPORT symbol "___rw_read_enter" [vmlinux] version generation failed, symbol will not be versioned. arch/sparc/kernel/head_32.o: In function `current_pc': arch/sparc/kernel/head_32.o:(.head.text+0x5040): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o: In function `halt_notsup': arch/sparc/kernel/head_32.o:(.head.text+0x5100): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o: In function `leon_init': arch/sparc/kernel/head_32.o:(.init.text+0xa4): relocation truncated to fit: R_SPARC_WDISP22 against symbol `leon_smp_cpu_startup' defined in .text section in arch/sparc/kernel/trampoline_32.o arch/sparc/kernel/process_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/process_32.o:(.fixup+0xc): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x10): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x1c): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x28): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x34): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x40): additional relocation overflows omitted from the output make[1]: *** [/kisskb/src/Makefile:1191: vmlinux] Error 1 make: *** [Makefile:215: __sub-make] Error 2 Command 'make -s -j 32 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_sparc-allmodconfig_sparc64 # Build took: 0:14:03.559457
© Michael Ellerman 2006-2018.