[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250314194742.32960-1-kuniyu@amazon.com>
Date: Fri, 14 Mar 2025 12:45:23 -0700
From: Kuniyuki Iwashima <kuniyu@...zon.com>
To: <annaemesenyiri@...il.com>
CC: <aleksandr.mikhalitsyn@...onical.com>, <alexander@...alicyn.com>,
<edumazet@...gle.com>, <kerneljasonxing@...il.com>, <kuba@...nel.org>,
<linux-kernel@...r.kernel.org>, <netdev@...r.kernel.org>,
<vadim.fedorenko@...ux.dev>, <willemb@...gle.com>, <kuniyu@...zon.com>
Subject: Re: [PATCH net-next] tools headers: Sync uapi/asm-generic/socket.h with the kernel sources
From: Anna Nyiri <annaemesenyiri@...il.com>
Date: Fri, 14 Mar 2025 14:31:34 +0100
> Alexander Mikhalitsyn <alexander@...alicyn.com> ezt írta (időpont:
> 2025. márc. 10., H, 9:22):
> >
> > Am Mo., 10. März 2025 um 06:33 Uhr schrieb Jason Xing
> > <kerneljasonxing@...il.com>:
> > >
> > > On Sun, Mar 9, 2025 at 1:15 PM Alexander Mikhalitsyn
> > > <aleksandr.mikhalitsyn@...onical.com> wrote:
> > > >
> > > > This also fixes a wrong definitions for SCM_TS_OPT_ID & SO_RCVPRIORITY.
> > > >
> > > > Accidentally found while working on another patchset.
> > > >
> > > > Cc: linux-kernel@...r.kernel.org
> > > > Cc: netdev@...r.kernel.org
> > > > Cc: Eric Dumazet <edumazet@...gle.com>
> > > > Cc: Jakub Kicinski <kuba@...nel.org>
> > > > Cc: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
> > > > Cc: Willem de Bruijn <willemb@...gle.com>
> > > > Cc: Jason Xing <kerneljasonxing@...il.com>
> > > > Cc: Anna Emese Nyiri <annaemesenyiri@...il.com>
> > > > 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@...onical.com>
> > >
> >
> > 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.
The uAPI number definions are different between arch, but strictly,
files under tools/ are not the source of truth.
> >
> > 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.
Right.
>
> I don’t completely understand this either—if the definitions need to
> be in sync, why is there a discrepancy?
>
> Specifically, I am referring to the ones that caused the shift in
> numbering in uapi/asm-generic/socket.h:
> #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
>
> In the case of SO_RCVPRIORITY, I simply continued the numbering
> sequence as it was
This should've followed include/uapi/asm-generic/socket.h.
Otherwise, a program compiled with tools/include/uapi/asm-generic/socket.h
does not work on kernel compiled with include/uapi/asm-generic/socket.h,
and the prog will invoke syscall with an unintentional number.
So, tools/include/uapi must be synced with include/uapi and fixing
up wrong definitions under tools/include/uapi is totally fine, and
this does not cause uAPI breakage, rather it's been broken.
Powered by blists - more mailing lists