On Mon, May 18, 2026 at 11:37:58AM +0000, [email protected] wrote: > > libbpf: Change has_nop_combo to work on top of nop10 > > > > We now expect nop combo with 10 bytes nop instead of 5 bytes nop, > > fixing has_nop_combo to reflect that. > > > > Fixes: 41a5c7df4466 ("libbpf: Add support to detect nop,nop5 instructions > > combo for usdt probe") > > Should the Fixes tag reference commit 5c3c59c7952a ("uprobes/x86: Move > optimized uprobe from nop5 to nop10") instead? Commit 41a5c7df4466 originally > introduced has_nop_combo() with the correct nop5 check. Commit 5c3c59c7952a > later changed the kernel to use nop10 instead of nop5 for uprobe optimization > but failed to update the libbpf has_nop_combo() function accordingly, creating > a mismatch between kernel and userspace.
keeping things separated now for easier review > > > Reviewed-by: Jakub Sitnicki <[email protected]> > > Signed-off-by: Jiri Olsa <[email protected]> > > > > diff --git a/tools/lib/bpf/usdt.c b/tools/lib/bpf/usdt.c > > index e3710933fd52..7e62e4d5bedd 100644 > > --- a/tools/lib/bpf/usdt.c > > +++ b/tools/lib/bpf/usdt.c > > [ ... ] > > > @@ -596,14 +596,14 @@ static int parse_usdt_spec(struct usdt_spec *spec, > > const struct usdt_note *note, > > #if defined(__x86_64__) > > static bool has_nop_combo(int fd, long off) > > { > > - unsigned char nop_combo[6] = { > > - 0x90, 0x0f, 0x1f, 0x44, 0x00, 0x00 /* nop,nop5 */ > > + unsigned char nop_combo[11] = { > > + 0x90, 0x66, 0x66, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, > > 0x00, > > }; > > - unsigned char buf[6]; > > + unsigned char buf[11]; > > > > - if (pread(fd, buf, 6, off) != 6) > > + if (pread(fd, buf, 11, off) != 11) > > return false; > > - return memcmp(buf, nop_combo, 6) == 0; > > + return memcmp(buf, nop_combo, 11) == 0; > > } > > This isn't a bug, but Jakub Sitnicki suggested in v1 review to use > ARRAY_SIZE(buf) instead of repeating the scalar value 11 in multiple places. > The suggestion was included alongside the Reviewed-by tag but was not > addressed. I think it's easy enough to keep the number jirka
