On Tue, Apr 2, 2024 at 12:45 PM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > > On Tue, Apr 02, 2024 at 11:45:43AM -0700, Namhyung Kim wrote: > > I got a report for a failure in BPF verifier on a recent kernel with > > perf lock contention command. It checks task->sighand->siglock without > > checking if sighand is NULL or not. Let's add one. > > > > ; if (&curr->sighand->siglock == (void *)lock) > > 265: (79) r1 = *(u64 *)(r0 +2624) ; frame1: R0_w=trusted_ptr_task_struct(off=0,imm=0) R1_w=rcu_ptr_or_null_sighand_struct(off=0,imm=0) > > 266: (b7) r2 = 0 ; frame1: R2_w=0 > > 267: (0f) r1 += r2 > > R1 pointer arithmetic on rcu_ptr_or_null_ prohibited, null-check it first > > processed 164 insns (limit 1000000) max_states_per_insn 1 total_states 15 peak_states 15 mark_read 5 > > -- END PROG LOAD LOG -- > > libbpf: prog 'contention_end': failed to load: -13 > > libbpf: failed to load object 'lock_contention_bpf' > > libbpf: failed to load BPF skeleton 'lock_contention_bpf': -13 > > Failed to load lock-contention BPF skeleton > > lock contention BPF setup failed > > lock contention did not detect any lock contention > > > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> > > Acked-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > Are you going to have this merged into perf-tools? > > A Fixes: tag isn't perhaps needed as it worked in the past? Fixes: 1811e82767dcc ("perf lock contention: Track and show siglock with address") It was introduced in v6.4 and it should be fine to have this even without the error. I'll queue it to perf-tools. Thanks, Namhyung