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

Reply via email to