net: introduce helper macra CMSG_FOREACH_HDR
Subsystems (10)
PATCH RESEND 1/1 net: introduce helper macra CMSG_FOREACH_HDR
Introduce helper macra CMSG_FOREACH_HDR as a wrapper of the enumerating cmsghdr from msghdr, just cleanup.
--- .../networking/timestamping/timestamping.c | 4 +--- .../networking/timestamping/txtimestamp.c | 4 +--- crypto/af_alg.c | 2 +- include/linux/socket.h | 4 ++++ net/core/scm.c | 3 +-- net/dccp/proto.c | 5 ++--- net/ipv4/ip_sockglue.c | 2 +- net/ipv6/datagram.c | 2 +- net/iucv/af_iucv.c | 4 +--- net/rds/send.c | 4 ++-- net/rxrpc/ar-output.c | 2 +- net/sctp/socket.c | 3 +-- 12 files changed, 17 insertions(+), 22 deletions(-)
Documentation/networking/timestamping/timestamping.c +1 -3
@@ -169,9 +169,7 @@ static void printpacket(struct msghdr *msg, int res, res,inet_ntoa (from_addr->sin_addr), msg->msg_controllen); -for (cmsg =CMSG_FIRSTHDR (msg); - cmsg; - cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {printf (" cmsg len %zu: " , cmsg->cmsg_len);switch (cmsg->cmsg_level) {case SOL_SOCKET :
Documentation/networking/timestamping/txtimestamp.c +1 -3
@@ -149,9 +149,7 @@ static void __recv_errmsg_cmsg(struct msghdr *msg, int payload_len)struct scm_timestamping *tss =NULL ;struct cmsghdr *cm; -for (cm =CMSG_FIRSTHDR (msg); - cm && cm->cmsg_len; - cm =CMSG_NXTHDR (msg, cm)) { + CMSG_FOREACH_HDR(cmsg, msg) {if (cm->cmsg_level ==SOL_SOCKET && cm->cmsg_type ==SCM_TIMESTAMPING ) { tss = (void *)CMSG_DATA (cm);
crypto/af_alg.c +1 -1
@@ -399,7 +399,7 @@ int af_alg_cmsg_send(struct msghdr *msg, struct af_alg_control *con) {struct cmsghdr *cmsg; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg))return -EINVAL ;if (cmsg->cmsg_level !=SOL_ALG )
include/linux/socket.h +4 -0
@@ -94,6 +94,10 @@ struct cmsghdr { (cmsg)->cmsg_len <= (unsigned long) \ ((mhdr)->msg_controllen - \ ((char *)(cmsg) - (char *)(mhdr)->msg_control))) +#define CMSG_FOREACH_HDR (cmsg, msg) \ + for (cmsg = CMSG_FIRSTHDR(msg); \ + cmsg; \ + cmsg = CMSG_NXTHDR(msg, cmsg))/* * Get the next cmsg header
net/core/scm.c +1 -2
@@ -129,8 +129,7 @@ int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie *p)struct cmsghdr *cmsg;int err; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) - { + CMSG_FOREACH_HDR(cmsg, msg) { err = -EINVAL ;/* Verify that cmsg_len is at least sizeof(struct cmsghdr) */
net/dccp/proto.c +2 -3
@@ -703,7 +703,7 @@ EXPORT_SYMBOL_GPL(compat_dccp_getsockopt);static int dccp_msghdr_parse (struct msghdr *msg,struct sk_buff *skb) { -struct cmsghdr *cmsg =CMSG_FIRSTHDR (msg); +struct cmsghdr *cmsg;/* * Assign an (opaque) qpolicy priority value to skb->priority.
@@ -717,8 +717,7 @@ static int dccp_msghdr_parse(struct msghdr *msg, struct sk_buff *skb)*/ skb->priority =0 ; -for (; cmsg !=NULL ; cmsg =CMSG_NXTHDR (msg, cmsg)) { - + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg))return -EINVAL ;
net/ipv4/ip_sockglue.c +1 -1
@@ -192,7 +192,7 @@ int ip_cmsg_send(struct net *net, struct msghdr *msg, struct ipcm_cookie *ipc,int err, val;struct cmsghdr *cmsg; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg))return -EINVAL ;#if IS_ENABLED (CONFIG_IPV6 )
net/ipv6/datagram.c +1 -1
@@ -640,7 +640,7 @@ int ip6_datagram_send_ctl(struct net *net, struct sock *sk,int len;int err =0 ; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {int addr_type;if (!CMSG_OK (msg, cmsg)) {
net/iucv/af_iucv.c +1 -3
@@ -1070,9 +1070,7 @@ static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock, txmsg.class =0 ;/* iterate over control messages */ -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; - cmsg =CMSG_NXTHDR (msg, cmsg)) { - + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg)) { err = -EINVAL ; goto out;
net/rds/send.c +2 -2
@@ -826,7 +826,7 @@ static int rds_rm_size(struct msghdr *msg, int data_len)int cmsg_groups =0 ;int retval; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg))return -EINVAL ;
@@ -878,7 +878,7 @@ static int rds_cmsg_send(struct rds_sock *rs, struct rds_message *rm,struct cmsghdr *cmsg;int ret =0 ; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg))return -EINVAL ;
net/rxrpc/ar-output.c +1 -1
@@ -45,7 +45,7 @@ static int rxrpc_sendmsg_cmsg(struct rxrpc_sock *rx, struct msghdr *msg,if (msg->msg_controllen ==0 )return -EINVAL ; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg; cmsg =CMSG_NXTHDR (msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, msg) {if (!CMSG_OK (msg, cmsg))return -EINVAL ;
net/sctp/socket.c +1 -2
@@ -6592,8 +6592,7 @@ static int sctp_msghdr_parse(const struct msghdr *msg, sctp_cmsgs_t *cmsgs)struct cmsghdr *cmsg;struct msghdr *my_msg = (struct msghdr *)msg; -for (cmsg =CMSG_FIRSTHDR (msg); cmsg !=NULL ; - cmsg =CMSG_NXTHDR (my_msg, cmsg)) { + CMSG_FOREACH_HDR(cmsg, my_msg) {if (!CMSG_OK (my_msg, cmsg))return -EINVAL ;
Signature · 3 lines
1.7.7 .
Quoted 1 line · Gu Zheng
Introduce helper macra
macro
Quoted 2 lines
CMSG_FOREACH_HDRas a wrapper of the enumerating
cmsghdr from msghdr, just cleanup.
maybe better to use lower case "for_each_cmsg_hdr" or some such.
checkpatch would recognize that too as long as it
uses "for_each".
include/linux/socket.h
Quoted 1 line
include/linux/socket.h +0
-0
[]
Quoted 8 lines
include/linux/socket.h +4
-0@@ -94,6 +94,10 @@ struct cmsghdr { (cmsg)->cmsg_len <= (unsigned long) \ ((mhdr)->msg_controllen - \ ((char *)(cmsg) - (char *)(mhdr)->msg_control))) +#define CMSG_FOREACH_HDR (cmsg, msg) \ + for (cmsg = CMSG_FIRSTHDR(msg); \ + cmsg; \ + cmsg = CMSG_NXTHDR(msg, cmsg))
Hi Joe,
Thanks for your comment.
Quoted 4 lines · Joe Perches
Quoted 1 line · Gu Zheng
Introduce helper macra
macro
Ah~, it's a typo.
Quoted 6 lines
Quoted 3 lines
CMSG_FOREACH_HDRas a wrapper of the enumerating
cmsghdr from msghdr, just cleanup.maybe better to use lower case "
for_each_cmsg_hdr" or some such.
But this will make it out of the ordinary, as the existed ones are all upper.
David, what's your opinion?
Regards,
Gu
Quoted 22 lines
checkpatch would recognize that too as long as it
uses "for_each".include/linux/socket.h
Quoted 1 line
include/linux/socket.h +0
-0[]
include/linux/socket.h struct cmsghdr { · line 100
Quoted 8 lines
include/linux/socket.h +4
-0@@ -94,6 +94,10 @@ struct cmsghdr { (cmsg)->cmsg_len <= (unsigned long) \ ((mhdr)->msg_controllen - \ ((char *)(cmsg) - (char *)(mhdr)->msg_control))) +#define CMSG_FOREACH_HDR (cmsg, msg) \ + for (cmsg = CMSG_FIRSTHDR(msg); \ + cmsg; \ + cmsg = CMSG_NXTHDR(msg, cmsg))--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
David Miller
maintainerFrom: Gu Zheng <[email protected]>
Date: Fri, 5 Dec 2014 16:29:07 +0800
Quoted 15 lines
Hi Joe,
Thanks for your comment.Quoted 4 lines · Joe Perches
Quoted 1 line · Gu Zheng
Introduce helper macra
macro
Ah~, it's a typo.
Quoted 4 lines
Quoted 3 lines
CMSG_FOREACH_HDRas a wrapper of the enumerating
cmsghdr from msghdr, just cleanup.
Quoted 7 lines
Quoted 2 lines
maybe better to use lower case "
for_each_cmsg_hdr" or some such.But this will make it out of the ordinary, as the existed ones are all upper.
David, what's your opinion?
I think lowercase looks much better.