On Thu, Jul 1, 2021 at 12:32 PM Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote: > > Alexei Starovoitov wrote: > > On Thu, Jul 1, 2021 at 8:09 AM Naveen N. Rao > > <naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote: > >> > >> Commit 91c960b0056672 ("bpf: Rename BPF_XADD and prepare to encode other > >> atomics in .imm") converted BPF_XADD to BPF_ATOMIC and added a way to > >> distinguish instructions based on the immediate field. Existing JIT > >> implementations were updated to check for the immediate field and to > >> reject programs utilizing anything more than BPF_ADD (such as BPF_FETCH) > >> in the immediate field. > >> > >> However, the check added to powerpc64 JIT did not look at the correct > >> BPF instruction. Due to this, such programs would be accepted and > >> incorrectly JIT'ed resulting in soft lockups, as seen with the atomic > >> bounds test. Fix this by looking at the correct immediate value. > >> > >> Fixes: 91c960b0056672 ("bpf: Rename BPF_XADD and prepare to encode other atomics in .imm") > >> Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> > >> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> > >> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> > >> --- > >> Hi Jiri, > >> FYI: I made a small change in this patch -- using 'imm' directly, rather > >> than insn[i].imm. I've still added your Tested-by since this shouldn't > >> impact the fix in any way. > >> > >> - Naveen > > > > Excellent debugging! You guys are awesome. > > Thanks. Jiri and Brendan did the bulk of the work :) > > > How do you want this fix routed? via bpf tree? > > Michael has a few BPF patches queued up in powerpc tree for v5.14, so it > might be easier to take these patches through the powerpc tree unless he > feels otherwise. Michael? Works for me. Thanks!