By adding MSG_NOSIGNAL flag to allowed flags in packet_recvmsg, this
patch fixes io_uring recvmsg operations returning -EINVAL when used with
packet socket file descriptors.
In io_uring, MSG_NOSIGNAL flag is added in:
io_uring/net.c/io_recvmsg_prep
Signed-off-by: Adnan Dizdarevic <[email protected]>
---
net/packet/af_packet.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index d4e76e2ae153..5ce62194af9e 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -3410,7 +3410,8 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
unsigned int origlen = 0;
err = -EINVAL;
- if (flags & ~(MSG_PEEK|MSG_DONTWAIT|MSG_TRUNC|MSG_CMSG_COMPAT|MSG_ERRQUEUE))
+ if (flags & ~(MSG_PEEK | MSG_DONTWAIT | MSG_TRUNC | MSG_CMSG_COMPAT |
+ MSG_ERRQUEUE | MSG_NOSIGNAL))
goto out;
#if 0
--
2.37.2
Adnan Dizdarevic wrote:
> By adding MSG_NOSIGNAL flag to allowed flags in packet_recvmsg, this
> patch fixes io_uring recvmsg operations returning -EINVAL when used with
> packet socket file descriptors.
>
> In io_uring, MSG_NOSIGNAL flag is added in:
> io_uring/net.c/io_recvmsg_prep
>
> Signed-off-by: Adnan Dizdarevic <[email protected]>
This was discussed two weeks ago and io_uring adapted to no longer
require this change.
https://lore.kernel.org/netdev/Y%[email protected]/T/
On 3/8/23 8:18 AM, Adnan Dizdarevic wrote:
> By adding MSG_NOSIGNAL flag to allowed flags in packet_recvmsg, this
> patch fixes io_uring recvmsg operations returning -EINVAL when used with
> packet socket file descriptors.
>
> In io_uring, MSG_NOSIGNAL flag is added in:
> io_uring/net.c/io_recvmsg_prep
FWIW, this did get fixed in io_uring, it's in 6.3-rc1 and is making
its way into the stable releases too:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7605c43d67face310b4b87dee1a28bc0c8cd8c0f
--
Jens Axboe
Thanks for the update. I didn't notice it got fixed in the meantime.
-----Original Message-----
From: Willem de Bruijn <[email protected]>
Sent: 08 March 2023 16:38
To: Adnan Dizdarevic <[email protected]>; [email protected]
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: RE: [PATCH] net/packet: Allow MSG_NOSIGNAL flag in packet_recvmsg
Adnan Dizdarevic wrote:
> By adding MSG_NOSIGNAL flag to allowed flags in packet_recvmsg, this
> patch fixes io_uring recvmsg operations returning -EINVAL when used
> with packet socket file descriptors.
>
> In io_uring, MSG_NOSIGNAL flag is added in:
> io_uring/net.c/io_recvmsg_prep
>
> Signed-off-by: Adnan Dizdarevic <[email protected]>
This was discussed two weeks ago and io_uring adapted to no longer require this change.
https://lore.kernel.org/netdev/Y%[email protected]/T/