Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: introduce helper macro for_each_cmsghdr

Introduce helper macro for_each_cmsghdr as a wrapper of the enumerating
cmsghdr from msghdr, just cleanup.

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Gu Zheng and committed by
David S. Miller
f95b414e dd0bcc0b

+15 -16
+1 -1
crypto/af_alg.c
··· 399 399 { 400 400 struct cmsghdr *cmsg; 401 401 402 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { 402 + for_each_cmsghdr(cmsg, msg) { 403 403 if (!CMSG_OK(msg, cmsg)) 404 404 return -EINVAL; 405 405 if (cmsg->cmsg_level != SOL_ALG)
+4
include/linux/socket.h
··· 103 103 (cmsg)->cmsg_len <= (unsigned long) \ 104 104 ((mhdr)->msg_controllen - \ 105 105 ((char *)(cmsg) - (char *)(mhdr)->msg_control))) 106 + #define for_each_cmsghdr(cmsg, msg) \ 107 + for (cmsg = CMSG_FIRSTHDR(msg); \ 108 + cmsg; \ 109 + cmsg = CMSG_NXTHDR(msg, cmsg)) 106 110 107 111 /* 108 112 * Get the next cmsg header
+1 -2
net/core/scm.c
··· 129 129 struct cmsghdr *cmsg; 130 130 int err; 131 131 132 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) 133 - { 132 + for_each_cmsghdr(cmsg, msg) { 134 133 err = -EINVAL; 135 134 136 135 /* Verify that cmsg_len is at least sizeof(struct cmsghdr) */
+2 -3
net/dccp/proto.c
··· 703 703 704 704 static int dccp_msghdr_parse(struct msghdr *msg, struct sk_buff *skb) 705 705 { 706 - struct cmsghdr *cmsg = CMSG_FIRSTHDR(msg); 706 + struct cmsghdr *cmsg; 707 707 708 708 /* 709 709 * Assign an (opaque) qpolicy priority value to skb->priority. ··· 717 717 */ 718 718 skb->priority = 0; 719 719 720 - for (; cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) { 721 - 720 + for_each_cmsghdr(cmsg, msg) { 722 721 if (!CMSG_OK(msg, cmsg)) 723 722 return -EINVAL; 724 723
+1 -1
net/ipv4/ip_sockglue.c
··· 192 192 int err, val; 193 193 struct cmsghdr *cmsg; 194 194 195 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { 195 + for_each_cmsghdr(cmsg, msg) { 196 196 if (!CMSG_OK(msg, cmsg)) 197 197 return -EINVAL; 198 198 #if IS_ENABLED(CONFIG_IPV6)
+1 -1
net/ipv6/datagram.c
··· 657 657 int len; 658 658 int err = 0; 659 659 660 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { 660 + for_each_cmsghdr(cmsg, msg) { 661 661 int addr_type; 662 662 663 663 if (!CMSG_OK(msg, cmsg)) {
+1 -3
net/iucv/af_iucv.c
··· 1070 1070 txmsg.class = 0; 1071 1071 1072 1072 /* iterate over control messages */ 1073 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; 1074 - cmsg = CMSG_NXTHDR(msg, cmsg)) { 1075 - 1073 + for_each_cmsghdr(cmsg, msg) { 1076 1074 if (!CMSG_OK(msg, cmsg)) { 1077 1075 err = -EINVAL; 1078 1076 goto out;
+2 -2
net/rds/send.c
··· 826 826 int cmsg_groups = 0; 827 827 int retval; 828 828 829 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { 829 + for_each_cmsghdr(cmsg, msg) { 830 830 if (!CMSG_OK(msg, cmsg)) 831 831 return -EINVAL; 832 832 ··· 878 878 struct cmsghdr *cmsg; 879 879 int ret = 0; 880 880 881 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { 881 + for_each_cmsghdr(cmsg, msg) { 882 882 if (!CMSG_OK(msg, cmsg)) 883 883 return -EINVAL; 884 884
+1 -1
net/rxrpc/ar-output.c
··· 45 45 if (msg->msg_controllen == 0) 46 46 return -EINVAL; 47 47 48 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { 48 + for_each_cmsghdr(cmsg, msg) { 49 49 if (!CMSG_OK(msg, cmsg)) 50 50 return -EINVAL; 51 51
+1 -2
net/sctp/socket.c
··· 6592 6592 struct cmsghdr *cmsg; 6593 6593 struct msghdr *my_msg = (struct msghdr *)msg; 6594 6594 6595 - for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; 6596 - cmsg = CMSG_NXTHDR(my_msg, cmsg)) { 6595 + for_each_cmsghdr(cmsg, my_msg) { 6597 6596 if (!CMSG_OK(my_msg, cmsg)) 6598 6597 return -EINVAL; 6599 6598