Messages in this thread | | | From | menglong8.dong@gmail ... | Subject | [PATCH v2 net-next 0/2] net: socket: use BIT() for MSG_* and fix MSG_CMSG_COMPAT | Date | Sun, 21 Mar 2021 21:43:55 +0800 |
| |
From: Menglong Dong <dong.menglong@zte.com.cn>
In the first patch, I use BIT() for MSG_* to make the code tidier.
Directly use BIT() for MSG_* will be a bit problematic, because 'msg_flags' is defined as 'int' somewhere, and MSG_CMSG_COMPAT will make it become negative, just like what Guenter Roeck reported here:
https://lore.kernel.org/netdev/20210317013758.GA134033@roeck-us.net
So in the second patch, I change MSG_CMSG_COMPAT to BIT(21), as David Laight suggested. MSG_CMSG_COMPAT is an internal value, which is't used in userspace, so this change works.
In version 2, some comment is added in patch 2 to stop people from using BIT(31) for MSG_* in the feature, as Herbert Xu suggested.
Menglong Dong (2): net: socket: use BIT() for MSG_* net: socket: change MSG_CMSG_COMPAT to BIT(21)
include/linux/socket.h | 75 +++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 34 deletions(-)
-- 2.31.0
| |