Hi Josh, Sumath, and Heiko,
Recently, all patches submitted to bpf have been failing the selftest
"dummy_st_ops/dummy_init_ptr_arg" on the s390x platform. Upon
investigation, it was determined that a specific patch, 778666df60f0
("s390: compile relocatable kernel without -fPIE"), is causing the
problem. It is the first bad after bisecting. Please take a look.
Thank you!
You can reproduce it by running the command
./test_progs -a dummy_st_ops/dummy_init_ptr_arg
in the tools/testing/selftests/bpf directory in the Linux source tree.
This command causes a kernel crash with the following messages. It
appears to be related to attaching a trace program at the fentry of a
struct_ops operator. The same operator works fine without the trace
program. For more details about the test case, please check
dummy_st_ops.c in tools/testing/selftests/bpf/prog_tests/.
illegal operation: 0001 ilc:1 [#1] SMP
Modules linked in:
CPU: 0 PID: 82 Comm: test_progs Tainted: G OE
6.8.0-rc3-g778666df60f0 #34
Hardware name: QEMU 3906 QEMU (KVM/Linux)
Krnl PSW : 0704d00180000000 0000000000000002 (0x2)
R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 RI:0 EA:3
Krnl GPRS: 000003ff800a4956 0000000000000000 0000038000a73d20
0000000082a08b58
0000000000000000 000000007083ede2 0000000000000000
0000000000000001
00000000009d580e 000000008286bc00 0000037f000000d8
000003ff800b2000
0000000081a43c00 00000000011bfe20 000003ff800b208e
0000038000a73c68
Krnl Code:#0000000000000000: 0000 illegal
>0000000000000002: 0000 illegal
0000000000000004: 0000 illegal
0000000000000006: 0000 illegal
0000000000000008: 0000 illegal
000000000000000a: 0000 illegal
000000000000000c: 0000 illegal
000000000000000e: 0000 illegal
Call Trace:
[<0000000000000002>] 0x2
[<00000000009d5cde>] bpf_struct_ops_test_run+0x156/0x250
[<000000000033145a>] __sys_bpf+0xa1a/0xd00
[<00000000003319dc>] __s390x_sys_bpf+0x44/0x50
[<0000000000c4382c>] __do_syscall+0x244/0x300
[<0000000000c59a40>] system_call+0x70/0x98
INFO: lockdep is turned off.
Last Breaking-Event-Address:
[<000003ff800a49ac>] bpf_prog_83ebf4e90b071f2b_test_1+0x5c/0x70
Kernel panic - not syncing: Fatal exception: panic_on_oops
[1]
https://github.com/kernel-patches/bpf/actions/runs/8297891630/job/22710267571