Buildresult: linus/mips-allmodconfig/mips-gcc8 built on May 13 2021, 05:45
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
May 13 2021, 05:45
Duration:
0:26:37.829870
Builder:
ka2
Revision:
ptrace: make ptrace() fail if the tracee changed its pid unexpectedly (
dbb5afad100a828c97e012c6106566d99f041db6)
Target:
linus/mips-allmodconfig/mips-gcc8
Branch:
linus
Compiler:
mips-gcc8
(mips-linux-gcc (GCC) 8.1.0 / GNU ld (GNU Binutils) 2.30)
Config:
allmodconfig
(
download
)
Log:
Download original
Possible warnings (6)
.config:13053:warning: override: reassigning to symbol MIPS_CPS_NS16550_SHIFT lib/bitfield_kunit.c:93:1: warning: the frame size of 4200 bytes is larger than 2048 bytes [-Wframe-larger-than=] 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. arch/mips/include/asm/sibyte/bcm1480_scd.h:261: warning: "M_SPC_CFG_CLEAR" redefined arch/mips/include/asm/sibyte/bcm1480_scd.h:262: warning: "M_SPC_CFG_ENABLE" redefined
Full Log
# git rev-parse -q --verify dbb5afad100a828c97e012c6106566d99f041db6^{commit} dbb5afad100a828c97e012c6106566d99f041db6 already have revision, skipping fetch # 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/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 dbb5afad100a828c97e012c6106566d99f041db6 # < make -s -j 48 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MIPS_CPS_NS16550_BASE=0x1b0003f8 # Added to kconfig CONFIG_MIPS_CPS_NS16550_SHIFT=0 # < make -s -j 48 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 48 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig .config:13053:warning: override: reassigning to symbol MIPS_CPS_NS16550_SHIFT # make -s -j 48 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- /kisskb/src/lib/bitfield_kunit.c: In function 'test_bitfields_constants': /kisskb/src/lib/bitfield_kunit.c:93:1: warning: the frame size of 4200 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ /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. ^~~~~~~ In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:28, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/bcm1480_scd.h:261: warning: "M_SPC_CFG_CLEAR" redefined #define M_SPC_CFG_CLEAR M_BCM1480_SPC_CFG_CLEAR In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:27, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/sb1250_scd.h:392: note: this is the location of the previous definition #define M_SPC_CFG_CLEAR _SB_MAKEMASK1(32) In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:28, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/bcm1480_scd.h:262: warning: "M_SPC_CFG_ENABLE" redefined #define M_SPC_CFG_ENABLE M_BCM1480_SPC_CFG_ENABLE In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:27, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/sb1250_scd.h:393: note: this is the location of the previous definition #define M_SPC_CFG_ENABLE _SB_MAKEMASK1(33) FIT description: Linux 5.13.0-rc1+ Created: Thu May 13 06:08:00 2021 Image 0 (kernel) Description: Linux 5.13.0-rc1+ Created: Thu May 13 06:08:00 2021 Type: Kernel Image Compression: gzip compressed Data Size: 10288887 Bytes = 10047.74 KiB = 9.81 MiB Architecture: MIPS OS: Linux Load Address: 0x84000000 Entry Point: 0x85486d60 Hash algo: sha1 Hash value: c94e9e34d232a2b4068dc048f778fda62c466160 Image 1 (fdt-boston) Description: img,boston Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 3793 Bytes = 3.70 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 4799f50d688573234da6e9d7701234d394759ef4 Image 2 (fdt-ni169445) Description: NI 169445 device tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 1871 Bytes = 1.83 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 51b89b31605ee62038c8468c429af091dfc75ec7 Image 3 (fdt-ocelot_pcb123) Description: MSCC Ocelot PCB123 Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 4659 Bytes = 4.55 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 5bcb6e4f21e8e5372544aa130b3bd097355a9050 Image 4 (fdt-ocelot_pcb120) Description: MSCC Ocelot PCB120 Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 5418 Bytes = 5.29 KiB = 0.01 MiB Architecture: MIPS Hash algo: sha1 Hash value: 93d882f2009a217e0fa9dab94788535ed2be8476 Image 5 (fdt-luton_pcb091) Description: MSCC Luton PCB091 Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 2303 Bytes = 2.25 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: daa8a8147bbce692d81383af7b748a763212bb24 Image 6 (fdt-jaguar2_pcb110) Description: MSCC Jaguar2 PCB110 Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 7509 Bytes = 7.33 KiB = 0.01 MiB Architecture: MIPS Hash algo: sha1 Hash value: 73c08d98d7aaf64b3e82483d33954c951cfb8067 Image 7 (fdt-jaguar2_pcb111) Description: MSCC Jaguar2 PCB111 Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 4581 Bytes = 4.47 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: d8ab1c8279a311c512005c256502f85a33651fe9 Image 8 (fdt-serval_pcb105) Description: MSCC Serval PCB105 Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 4545 Bytes = 4.44 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 372c736c817c1313650e487910d7b94a32816bd7 Image 9 (fdt-xilfpga) Description: MIPSfpga (xilfpga) Device Tree Created: Thu May 13 06:08:00 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 2708 Bytes = 2.64 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 63d058b780f65e22da30f0a183433765f1807f1d Default Configuration: 'conf-default' Configuration 0 (conf-default) Description: Generic Linux kernel Kernel: kernel Configuration 1 (conf-boston) Description: Boston Linux kernel Kernel: kernel FDT: fdt-boston Configuration 2 (conf-ni169445) Description: NI 169445 Linux Kernel Kernel: kernel FDT: fdt-ni169445 Configuration 3 (conf-ocelot_pcb123) Description: Ocelot Linux kernel Kernel: kernel FDT: fdt-ocelot_pcb123 Configuration 4 (conf-ocelot_pcb120) Description: Ocelot Linux kernel Kernel: kernel FDT: fdt-ocelot_pcb120 Configuration 5 (pcb091) Description: Luton Linux kernel Kernel: kernel FDT: fdt-luton_pcb091 Configuration 6 (pcb110) Description: Jaguar2 Linux kernel Kernel: kernel Init Ramdisk: ramdisk FDT: fdt-jaguar2_pcb110 Configuration 7 (pcb111) Description: Jaguar2 Linux kernel Kernel: kernel Init Ramdisk: ramdisk FDT: fdt-jaguar2_pcb111 Configuration 8 (pcb105) Description: Serval Linux kernel Kernel: kernel Init Ramdisk: ramdisk FDT: fdt-serval_pcb105 Configuration 9 (conf-xilfpga) Description: MIPSfpga Linux kernel Kernel: kernel FDT: fdt-xilfpga Completed OK # rm -rf /kisskb/build/linus_mips-allmodconfig_mips-gcc8 # Build took: 0:26:37.829870
© Michael Ellerman 2006-2018.