Message ID | 20250309121526.86670-1-aleksandr.mikhalitsyn@canonical.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] tools headers: Sync uapi/asm-generic/socket.h with the kernel sources | expand |
On Sun, Mar 9, 2025 at 1:15 PM Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.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@vger.kernel.org > Cc: netdev@vger.kernel.org > Cc: Eric Dumazet <edumazet@google.com> > Cc: Jakub Kicinski <kuba@kernel.org> > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > Cc: Willem de Bruijn <willemb@google.com> > Cc: Jason Xing <kerneljasonxing@gmail.com> > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.com> 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. Otherwise, the change looks good to me. 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 >
Am Mo., 10. März 2025 um 06:33 Uhr schrieb Jason Xing <kerneljasonxing@gmail.com>: > > On Sun, Mar 9, 2025 at 1:15 PM Alexander Mikhalitsyn > <aleksandr.mikhalitsyn@canonical.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@vger.kernel.org > > Cc: netdev@vger.kernel.org > > Cc: Eric Dumazet <edumazet@google.com> > > Cc: Jakub Kicinski <kuba@kernel.org> > > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > > Cc: Willem de Bruijn <willemb@google.com> > > Cc: Jason Xing <kerneljasonxing@gmail.com> > > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.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. 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 > >
Alexander Mikhalitsyn <alexander@mihalicyn.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@gmail.com>: > > > > On Sun, Mar 9, 2025 at 1:15 PM Alexander Mikhalitsyn > > <aleksandr.mikhalitsyn@canonical.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@vger.kernel.org > > > Cc: netdev@vger.kernel.org > > > Cc: Eric Dumazet <edumazet@google.com> > > > Cc: Jakub Kicinski <kuba@kernel.org> > > > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > > > Cc: Willem de Bruijn <willemb@google.com> > > > Cc: Jason Xing <kerneljasonxing@gmail.com> > > > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.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. > > 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. 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—I didn’t intend to disrupt the structure of the definitions. It’s possible that I made a mistake in doing so. If this doesn’t cause any issues, I would also vote for modifying the numbering. Could someone more familiar with this area confirm whether adjusting the numbering is acceptable? > 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 > > >
Am So., 9. März 2025 um 13:15 Uhr schrieb Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>: > > This also fixes a wrong definitions for SCM_TS_OPT_ID & SO_RCVPRIORITY. > > Accidentally found while working on another patchset. > > Cc: linux-kernel@vger.kernel.org > Cc: netdev@vger.kernel.org > Cc: Eric Dumazet <edumazet@google.com> > Cc: Jakub Kicinski <kuba@kernel.org> > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > Cc: Willem de Bruijn <willemb@google.com> > Cc: Jason Xing <kerneljasonxing@gmail.com> > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.com> +cc Paolo Abeni <pabeni@redhat.com> +cc Kuniyuki Iwashima <kuniyu@amazon.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@canonical.com> > --- > 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 >
From: Anna Nyiri <annaemesenyiri@gmail.com> Date: Fri, 14 Mar 2025 14:31:34 +0100 > Alexander Mikhalitsyn <alexander@mihalicyn.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@gmail.com>: > > > > > > On Sun, Mar 9, 2025 at 1:15 PM Alexander Mikhalitsyn > > > <aleksandr.mikhalitsyn@canonical.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@vger.kernel.org > > > > Cc: netdev@vger.kernel.org > > > > Cc: Eric Dumazet <edumazet@google.com> > > > > Cc: Jakub Kicinski <kuba@kernel.org> > > > > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > > > > Cc: Willem de Bruijn <willemb@google.com> > > > > Cc: Jason Xing <kerneljasonxing@gmail.com> > > > > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.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.
From: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> Date: Sun, 9 Mar 2025 13:15:24 +0100 > This also fixes a wrong definitions for SCM_TS_OPT_ID & SO_RCVPRIORITY. > > Accidentally found while working on another patchset. > > Cc: linux-kernel@vger.kernel.org > Cc: netdev@vger.kernel.org > Cc: Eric Dumazet <edumazet@google.com> > Cc: Jakub Kicinski <kuba@kernel.org> > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > Cc: Willem de Bruijn <willemb@google.com> > Cc: Jason Xing <kerneljasonxing@gmail.com> > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> It seems the patch is marked as Changes Requested on patchwork. Also, I think this is net.git material than net-next. So, could you repost to net.git ? Thanks!
Am Fr., 14. März 2025 um 20:53 Uhr schrieb Kuniyuki Iwashima <kuniyu@amazon.com>: > > From: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> > Date: Sun, 9 Mar 2025 13:15:24 +0100 > > This also fixes a wrong definitions for SCM_TS_OPT_ID & SO_RCVPRIORITY. > > > > Accidentally found while working on another patchset. > > > > Cc: linux-kernel@vger.kernel.org > > Cc: netdev@vger.kernel.org > > Cc: Eric Dumazet <edumazet@google.com> > > Cc: Jakub Kicinski <kuba@kernel.org> > > Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> > > Cc: Willem de Bruijn <willemb@google.com> > > Cc: Jason Xing <kerneljasonxing@gmail.com> > > Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.com> Dear Kuniyuki, Thanks for looking into this! > > Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> > > It seems the patch is marked as Changes Requested on patchwork. > Also, I think this is net.git material than net-next. > > So, could you repost to net.git ? Have done: https://lore.kernel.org/netdev/20250314214155.16046-1-aleksandr.mikhalitsyn@canonical.com/ Kind regards, Alex > > Thanks! > >
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__)
This also fixes a wrong definitions for SCM_TS_OPT_ID & SO_RCVPRIORITY. Accidentally found while working on another patchset. Cc: linux-kernel@vger.kernel.org Cc: netdev@vger.kernel.org Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev> Cc: Willem de Bruijn <willemb@google.com> Cc: Jason Xing <kerneljasonxing@gmail.com> Cc: Anna Emese Nyiri <annaemesenyiri@gmail.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@canonical.com> --- tools/include/uapi/asm-generic/socket.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-)