Messages in this thread | | | Date | Wed, 17 Mar 2021 09:39:26 -0700 (PDT) | Subject | Re: [PATCH v4 RESEND net-next] net: socket: use BIT() for MSG_* | From | David Miller <> |
| |
From: Menglong Dong <menglong8.dong@gmail.com> Date: Wed, 17 Mar 2021 16:21:14 +0800
> Hello, > > On Wed, Mar 17, 2021 at 9:38 AM Guenter Roeck <linux@roeck-us.net> wrote: >> >> On Wed, Mar 17, 2021 at 01:02:51AM +0200, Andy Shevchenko wrote: >> > On Wednesday, March 17, 2021, Guenter Roeck <linux@roeck-us.net> wrote: >> > > ... >> >> The problem is in net/packet/af_packet.c:packet_recvmsg(). This function, >> as well as all other rcvmsg functions, is declared as >> >> static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, >> int flags) >> >> MSG_CMSG_COMPAT (0x80000000) is set in flags, meaning its value is negative. >> This is then evaluated in >> >> if (flags & ~(MSG_PEEK|MSG_DONTWAIT|MSG_TRUNC|MSG_CMSG_COMPAT|MSG_ERRQUEUE)) >> goto out; > So what should I do? Revert this patch? Or fix the usages of 'flags'?
I already reverted this patch from net-next to fix the regression.
| |