Re: [PATCH net-next] tools headers: Sync uapi/asm-generic/socket.h with the kernel sources

From: Alexander Mikhalitsyn
Date: Mon Mar 10 2025 - 04:22:54 EST


Am Mo., 10. März 2025 um 06:33 Uhr schrieb Jason Xing
<kerneljasonxing@xxxxxxxxx>:
>
> On Sun, Mar 9, 2025 at 1:15 PM Alexander Mikhalitsyn
> <aleksandr.mikhalitsyn@xxxxxxxxxxxxx> wrote:
> >
> > This also fixes a wrong definitions for SCM_TS_OPT_ID & SO_RCVPRIORITY.
> >
> > Accidentally found while working on another patchset.
> >
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: netdev@xxxxxxxxxxxxxxx
> > Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
> > Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> > Cc: Vadim Fedorenko <vadim.fedorenko@xxxxxxxxx>
> > Cc: Willem de Bruijn <willemb@xxxxxxxxxx>
> > Cc: Jason Xing <kerneljasonxing@xxxxxxxxx>
> > Cc: Anna Emese Nyiri <annaemesenyiri@xxxxxxxxx>
> > Fixes: a89568e9be75 ("selftests: txtimestamp: add SCM_TS_OPT_ID test")
> > Fixes: e45469e594b2 ("sock: Introduce SO_RCVPRIORITY socket option")
> > Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@xxxxxxxxxxxxx>
>

Hi Jason,

Thanks for looking into this!

> I'm not sure if it's a bug. As you may notice, in
> arch/parisc/include/uapi/asm/socket.h, it has its own management of
> definitions.
>
> I'm worried that since this file is uapi, is it allowed to adjust the
> number like this patch does if it's not a bug.

My understanding is that this file (tools/include/uapi/asm-generic/socket.h) is
a mirror copy of the actual UAPI file (uapi/asm-generic/socket.h),
and definitions need to be in sync with it.

But I absolutely agree that we need someone who knows that for sure
and can confirm.
Breaking anything, especially UAPI-related stuff is my nightmare.

>
> Otherwise, the change looks good to me.

Kind regards,
Alex

>
> Thanks,
> Jason
>
> > ---
> > tools/include/uapi/asm-generic/socket.h | 21 +++++++++++++++++++--
> > 1 file changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/include/uapi/asm-generic/socket.h b/tools/include/uapi/asm-generic/socket.h
> > index ffff554a5230..aa5016ff3d91 100644
> > --- a/tools/include/uapi/asm-generic/socket.h
> > +++ b/tools/include/uapi/asm-generic/socket.h
> > @@ -119,14 +119,31 @@
> >
> > #define SO_DETACH_REUSEPORT_BPF 68
> >
> > +#define SO_PREFER_BUSY_POLL 69
> > +#define SO_BUSY_POLL_BUDGET 70
> > +
> > +#define SO_NETNS_COOKIE 71
> > +
> > +#define SO_BUF_LOCK 72
> > +
> > +#define SO_RESERVE_MEM 73
> > +
> > +#define SO_TXREHASH 74
> > +
> > #define SO_RCVMARK 75
> >
> > #define SO_PASSPIDFD 76
> > #define SO_PEERPIDFD 77
> >
> > -#define SCM_TS_OPT_ID 78
> > +#define SO_DEVMEM_LINEAR 78
> > +#define SCM_DEVMEM_LINEAR SO_DEVMEM_LINEAR
> > +#define SO_DEVMEM_DMABUF 79
> > +#define SCM_DEVMEM_DMABUF SO_DEVMEM_DMABUF
> > +#define SO_DEVMEM_DONTNEED 80
> > +
> > +#define SCM_TS_OPT_ID 81
> >
> > -#define SO_RCVPRIORITY 79
> > +#define SO_RCVPRIORITY 82
> >
> > #if !defined(__KERNEL__)
> >
> > --
> > 2.43.0
> >