On Wed, 16 Oct 2024 14:07:31 +0200 Sven Schnelle <svens@xxxxxxxxxxxxx> wrote: > > +/* Return reserved data size in words */ > > +static inline int decode_fprobe_header(unsigned long val, struct fprobe **fp) > > +{ > > + unsigned long ptr; > > + > > + ptr = (val & FPROBE_HEADER_PTR_MASK) | ~FPROBE_HEADER_PTR_MASK; > > + if (fp) > > + *fp = (struct fprobe *)ptr; > > + return val >> FPROBE_HEADER_PTR_BITS; > > +} > > I think that still has the issue that the size is encoded in the > leftmost fields of the pointer, which doesn't work on all > architectures. I reported this already in v15 > (https://lore.kernel.org/all/yt9dmsjyx067.fsf@xxxxxxxxxxxxx/)