Message ID | 20210321134357.148323-2-dong.menglong@zte.com.cn (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: socket: use BIT() for MSG_* and fix MSG_CMSG_COMPAT | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net-next |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | success | CCed 4 of 4 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 9849 this patch: 9849 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | warning | WARNING: line length of 82 exceeds 80 columns WARNING: line length of 86 exceeds 80 columns |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 14992 this patch: 14992 |
netdev/header_inline | success | Link |
On 3/21/21 6:43 AM, menglong8.dong@gmail.com wrote: > From: Menglong Dong <dong.menglong@zte.com.cn> > > The bit mask for MSG_* seems a little confused here. Replace it > with BIT() to make it clear to understand. > > Signed-off-by: Menglong Dong <dong.menglong@zte.com.cn> With this patch sent as patch 1/2, any code trying to bisect a compat related network problem will fail at this commit. Guenter > --- > include/linux/socket.h | 71 ++++++++++++++++++++++-------------------- > 1 file changed, 37 insertions(+), 34 deletions(-) > > diff --git a/include/linux/socket.h b/include/linux/socket.h > index 385894b4a8bb..d5ebfe30d96b 100644 > --- a/include/linux/socket.h > +++ b/include/linux/socket.h > @@ -283,42 +283,45 @@ struct ucred { > Added those for 1003.1g not all are supported yet > */ > > -#define MSG_OOB 1 > -#define MSG_PEEK 2 > -#define MSG_DONTROUTE 4 > -#define MSG_TRYHARD 4 /* Synonym for MSG_DONTROUTE for DECnet */ > -#define MSG_CTRUNC 8 > -#define MSG_PROBE 0x10 /* Do not send. Only probe path f.e. for MTU */ > -#define MSG_TRUNC 0x20 > -#define MSG_DONTWAIT 0x40 /* Nonblocking io */ > -#define MSG_EOR 0x80 /* End of record */ > -#define MSG_WAITALL 0x100 /* Wait for a full request */ > -#define MSG_FIN 0x200 > -#define MSG_SYN 0x400 > -#define MSG_CONFIRM 0x800 /* Confirm path validity */ > -#define MSG_RST 0x1000 > -#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ > -#define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */ > -#define MSG_MORE 0x8000 /* Sender will send more */ > -#define MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */ > -#define MSG_SENDPAGE_NOPOLICY 0x10000 /* sendpage() internal : do no apply policy */ > -#define MSG_SENDPAGE_NOTLAST 0x20000 /* sendpage() internal : not the last page */ > -#define MSG_BATCH 0x40000 /* sendmmsg(): more messages coming */ > -#define MSG_EOF MSG_FIN > -#define MSG_NO_SHARED_FRAGS 0x80000 /* sendpage() internal : page frags are not shared */ > -#define MSG_SENDPAGE_DECRYPTED 0x100000 /* sendpage() internal : page may carry > - * plain text and require encryption > - */ > - > -#define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */ > -#define MSG_FASTOPEN 0x20000000 /* Send data in TCP SYN */ > -#define MSG_CMSG_CLOEXEC 0x40000000 /* Set close_on_exec for file > - descriptor received through > - SCM_RIGHTS */ > +#define MSG_OOB BIT(0) > +#define MSG_PEEK BIT(1) > +#define MSG_DONTROUTE BIT(2) > +#define MSG_TRYHARD BIT(2) /* Synonym for MSG_DONTROUTE for DECnet */ > +#define MSG_CTRUNC BIT(3) > +#define MSG_PROBE BIT(4) /* Do not send. Only probe path f.e. for MTU */ > +#define MSG_TRUNC BIT(5) > +#define MSG_DONTWAIT BIT(6) /* Nonblocking io */ > +#define MSG_EOR BIT(7) /* End of record */ > +#define MSG_WAITALL BIT(8) /* Wait for a full request */ > +#define MSG_FIN BIT(9) > +#define MSG_SYN BIT(10) > +#define MSG_CONFIRM BIT(11) /* Confirm path validity */ > +#define MSG_RST BIT(12) > +#define MSG_ERRQUEUE BIT(13) /* Fetch message from error queue */ > +#define MSG_NOSIGNAL BIT(14) /* Do not generate SIGPIPE */ > +#define MSG_MORE BIT(15) /* Sender will send more */ > +#define MSG_WAITFORONE BIT(16) /* recvmmsg(): block until 1+ packets avail */ > +#define MSG_SENDPAGE_NOPOLICY BIT(16) /* sendpage() internal : do no apply policy */ > +#define MSG_SENDPAGE_NOTLAST BIT(17) /* sendpage() internal : not the last page */ > +#define MSG_BATCH BIT(18) /* sendmmsg(): more messages coming */ > +#define MSG_EOF MSG_FIN > +#define MSG_NO_SHARED_FRAGS BIT(19) /* sendpage() internal : page frags > + * are not shared > + */ > +#define MSG_SENDPAGE_DECRYPTED BIT(20) /* sendpage() internal : page may carry > + * plain text and require encryption > + */ > + > +#define MSG_ZEROCOPY BIT(26) /* Use user data in kernel path */ > +#define MSG_FASTOPEN BIT(29) /* Send data in TCP SYN */ > +#define MSG_CMSG_CLOEXEC BIT(30) /* Set close_on_exec for file > + * descriptor received through > + * SCM_RIGHTS > + */ > #if defined(CONFIG_COMPAT) > -#define MSG_CMSG_COMPAT 0x80000000 /* This message needs 32 bit fixups */ > +#define MSG_CMSG_COMPAT BIT(31) /* This message needs 32 bit fixups */ > #else > -#define MSG_CMSG_COMPAT 0 /* We never have 32 bit fixups */ > +#define MSG_CMSG_COMPAT 0 /* We never have 32 bit fixups */ > #endif > > >
diff --git a/include/linux/socket.h b/include/linux/socket.h index 385894b4a8bb..d5ebfe30d96b 100644 --- a/include/linux/socket.h +++ b/include/linux/socket.h @@ -283,42 +283,45 @@ struct ucred { Added those for 1003.1g not all are supported yet */ -#define MSG_OOB 1 -#define MSG_PEEK 2 -#define MSG_DONTROUTE 4 -#define MSG_TRYHARD 4 /* Synonym for MSG_DONTROUTE for DECnet */ -#define MSG_CTRUNC 8 -#define MSG_PROBE 0x10 /* Do not send. Only probe path f.e. for MTU */ -#define MSG_TRUNC 0x20 -#define MSG_DONTWAIT 0x40 /* Nonblocking io */ -#define MSG_EOR 0x80 /* End of record */ -#define MSG_WAITALL 0x100 /* Wait for a full request */ -#define MSG_FIN 0x200 -#define MSG_SYN 0x400 -#define MSG_CONFIRM 0x800 /* Confirm path validity */ -#define MSG_RST 0x1000 -#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ -#define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */ -#define MSG_MORE 0x8000 /* Sender will send more */ -#define MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */ -#define MSG_SENDPAGE_NOPOLICY 0x10000 /* sendpage() internal : do no apply policy */ -#define MSG_SENDPAGE_NOTLAST 0x20000 /* sendpage() internal : not the last page */ -#define MSG_BATCH 0x40000 /* sendmmsg(): more messages coming */ -#define MSG_EOF MSG_FIN -#define MSG_NO_SHARED_FRAGS 0x80000 /* sendpage() internal : page frags are not shared */ -#define MSG_SENDPAGE_DECRYPTED 0x100000 /* sendpage() internal : page may carry - * plain text and require encryption - */ - -#define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */ -#define MSG_FASTOPEN 0x20000000 /* Send data in TCP SYN */ -#define MSG_CMSG_CLOEXEC 0x40000000 /* Set close_on_exec for file - descriptor received through - SCM_RIGHTS */ +#define MSG_OOB BIT(0) +#define MSG_PEEK BIT(1) +#define MSG_DONTROUTE BIT(2) +#define MSG_TRYHARD BIT(2) /* Synonym for MSG_DONTROUTE for DECnet */ +#define MSG_CTRUNC BIT(3) +#define MSG_PROBE BIT(4) /* Do not send. Only probe path f.e. for MTU */ +#define MSG_TRUNC BIT(5) +#define MSG_DONTWAIT BIT(6) /* Nonblocking io */ +#define MSG_EOR BIT(7) /* End of record */ +#define MSG_WAITALL BIT(8) /* Wait for a full request */ +#define MSG_FIN BIT(9) +#define MSG_SYN BIT(10) +#define MSG_CONFIRM BIT(11) /* Confirm path validity */ +#define MSG_RST BIT(12) +#define MSG_ERRQUEUE BIT(13) /* Fetch message from error queue */ +#define MSG_NOSIGNAL BIT(14) /* Do not generate SIGPIPE */ +#define MSG_MORE BIT(15) /* Sender will send more */ +#define MSG_WAITFORONE BIT(16) /* recvmmsg(): block until 1+ packets avail */ +#define MSG_SENDPAGE_NOPOLICY BIT(16) /* sendpage() internal : do no apply policy */ +#define MSG_SENDPAGE_NOTLAST BIT(17) /* sendpage() internal : not the last page */ +#define MSG_BATCH BIT(18) /* sendmmsg(): more messages coming */ +#define MSG_EOF MSG_FIN +#define MSG_NO_SHARED_FRAGS BIT(19) /* sendpage() internal : page frags + * are not shared + */ +#define MSG_SENDPAGE_DECRYPTED BIT(20) /* sendpage() internal : page may carry + * plain text and require encryption + */ + +#define MSG_ZEROCOPY BIT(26) /* Use user data in kernel path */ +#define MSG_FASTOPEN BIT(29) /* Send data in TCP SYN */ +#define MSG_CMSG_CLOEXEC BIT(30) /* Set close_on_exec for file + * descriptor received through + * SCM_RIGHTS + */ #if defined(CONFIG_COMPAT) -#define MSG_CMSG_COMPAT 0x80000000 /* This message needs 32 bit fixups */ +#define MSG_CMSG_COMPAT BIT(31) /* This message needs 32 bit fixups */ #else -#define MSG_CMSG_COMPAT 0 /* We never have 32 bit fixups */ +#define MSG_CMSG_COMPAT 0 /* We never have 32 bit fixups */ #endif