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

net-next: replace obsolete NLMSG_* with type safe nlmsg_*

Signed-off-by: Hong Zhiguo <honkiko@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Hong zhi guo and committed by
David S. Miller
573ce260 e5c5d22e

+48 -50
+2 -2
net/bridge/netfilter/ebt_ulog.c
··· 35 35 #include <linux/skbuff.h> 36 36 #include <linux/kernel.h> 37 37 #include <linux/timer.h> 38 - #include <linux/netlink.h> 38 + #include <net/netlink.h> 39 39 #include <linux/netdevice.h> 40 40 #include <linux/netfilter/x_tables.h> 41 41 #include <linux/netfilter_bridge/ebtables.h> ··· 134 134 else 135 135 copy_len = uloginfo->cprange; 136 136 137 - size = NLMSG_SPACE(sizeof(*pm) + copy_len); 137 + size = nlmsg_total_size(sizeof(*pm) + copy_len); 138 138 if (size > nlbufsiz) { 139 139 pr_debug("Size %Zd needed, but nlbufsiz=%d\n", size, nlbufsiz); 140 140 return;
+2 -2
net/core/rtnetlink.c
··· 2613 2613 type -= RTM_BASE; 2614 2614 2615 2615 /* All the messages must have at least 1 byte length */ 2616 - if (nlh->nlmsg_len < NLMSG_LENGTH(sizeof(struct rtgenmsg))) 2616 + if (nlmsg_len(nlh) < sizeof(struct rtgenmsg)) 2617 2617 return 0; 2618 2618 2619 - family = ((struct rtgenmsg *)NLMSG_DATA(nlh))->rtgen_family; 2619 + family = ((struct rtgenmsg *)nlmsg_data(nlh))->rtgen_family; 2620 2620 sz_idx = type>>2; 2621 2621 kind = type&3; 2622 2622
+2 -2
net/decnet/dn_table.c
··· 19 19 #include <linux/sockios.h> 20 20 #include <linux/init.h> 21 21 #include <linux/skbuff.h> 22 - #include <linux/netlink.h> 22 + #include <net/netlink.h> 23 23 #include <linux/rtnetlink.h> 24 24 #include <linux/proc_fs.h> 25 25 #include <linux/netdevice.h> ··· 492 492 if (!net_eq(net, &init_net)) 493 493 return 0; 494 494 495 - if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) && 495 + if (nlmsg_len(cb->nlh) >= sizeof(struct rtmsg) && 496 496 ((struct rtmsg *)nlmsg_data(cb->nlh))->rtm_flags&RTM_F_CLONED) 497 497 return dn_cache_dump(skb, cb); 498 498
+6 -6
net/decnet/netfilter/dn_rtmsg.c
··· 19 19 #include <linux/netdevice.h> 20 20 #include <linux/netfilter.h> 21 21 #include <linux/spinlock.h> 22 - #include <linux/netlink.h> 22 + #include <net/netlink.h> 23 23 #include <linux/netfilter_decnet.h> 24 24 25 25 #include <net/sock.h> ··· 39 39 unsigned char *ptr; 40 40 struct nf_dn_rtmsg *rtm; 41 41 42 - size = NLMSG_SPACE(rt_skb->len); 43 - size += NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg)); 44 - skb = alloc_skb(size, GFP_ATOMIC); 42 + size = NLMSG_ALIGN(rt_skb->len) + 43 + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg)); 44 + skb = nlmsg_new(size, GFP_ATOMIC); 45 45 if (!skb) { 46 46 *errp = -ENOMEM; 47 47 return NULL; 48 48 } 49 49 old_tail = skb->tail; 50 - nlh = nlmsg_put(skb, 0, 0, 0, size - sizeof(*nlh), 0); 50 + nlh = nlmsg_put(skb, 0, 0, 0, size, 0); 51 51 if (!nlh) { 52 52 kfree_skb(skb); 53 53 *errp = -ENOMEM; 54 54 return NULL; 55 55 } 56 - rtm = (struct nf_dn_rtmsg *)NLMSG_DATA(nlh); 56 + rtm = (struct nf_dn_rtmsg *)nlmsg_data(nlh); 57 57 rtm->nfdn_ifindex = rt_skb->dev->ifindex; 58 58 ptr = NFDN_RTMSG(rtm); 59 59 skb_copy_from_linear_data(rt_skb, ptr, rt_skb->len);
+2 -2
net/ieee802154/netlink.c
··· 65 65 int ieee802154_nl_mcast(struct sk_buff *msg, unsigned int group) 66 66 { 67 67 /* XXX: nlh is right at the start of msg */ 68 - void *hdr = genlmsg_data(NLMSG_DATA(msg->data)); 68 + void *hdr = genlmsg_data(nlmsg_data(msg->data)); 69 69 70 70 if (genlmsg_end(msg, hdr) < 0) 71 71 goto out; ··· 98 98 int ieee802154_nl_reply(struct sk_buff *msg, struct genl_info *info) 99 99 { 100 100 /* XXX: nlh is right at the start of msg */ 101 - void *hdr = genlmsg_data(NLMSG_DATA(msg->data)); 101 + void *hdr = genlmsg_data(nlmsg_data(msg->data)); 102 102 103 103 if (genlmsg_end(msg, hdr) < 0) 104 104 goto out;
+3 -3
net/ipv4/fib_frontend.c
··· 957 957 958 958 net = sock_net(skb->sk); 959 959 nlh = nlmsg_hdr(skb); 960 - if (skb->len < NLMSG_SPACE(0) || skb->len < nlh->nlmsg_len || 961 - nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*frn))) 960 + if (skb->len < NLMSG_HDRLEN || skb->len < nlh->nlmsg_len || 961 + nlmsg_len(nlh) < sizeof(*frn)) 962 962 return; 963 963 964 964 skb = skb_clone(skb, GFP_KERNEL); ··· 966 966 return; 967 967 nlh = nlmsg_hdr(skb); 968 968 969 - frn = (struct fib_result_nl *) NLMSG_DATA(nlh); 969 + frn = (struct fib_result_nl *) nlmsg_data(nlh); 970 970 tb = fib_get_table(net, frn->tb_id_in); 971 971 972 972 nl_fib_lookup(frn, tb);
+5 -5
net/ipv4/ipmr.c
··· 626 626 if (ip_hdr(skb)->version == 0) { 627 627 struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct iphdr)); 628 628 nlh->nlmsg_type = NLMSG_ERROR; 629 - nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); 629 + nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr)); 630 630 skb_trim(skb, nlh->nlmsg_len); 631 - e = NLMSG_DATA(nlh); 631 + e = nlmsg_data(nlh); 632 632 e->error = -ETIMEDOUT; 633 633 memset(&e->msg, 0, sizeof(e->msg)); 634 634 ··· 910 910 if (ip_hdr(skb)->version == 0) { 911 911 struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct iphdr)); 912 912 913 - if (__ipmr_fill_mroute(mrt, skb, c, NLMSG_DATA(nlh)) > 0) { 913 + if (__ipmr_fill_mroute(mrt, skb, c, nlmsg_data(nlh)) > 0) { 914 914 nlh->nlmsg_len = skb_tail_pointer(skb) - 915 915 (u8 *)nlh; 916 916 } else { 917 917 nlh->nlmsg_type = NLMSG_ERROR; 918 - nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); 918 + nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr)); 919 919 skb_trim(skb, nlh->nlmsg_len); 920 - e = NLMSG_DATA(nlh); 920 + e = nlmsg_data(nlh); 921 921 e->error = -EMSGSIZE; 922 922 memset(&e->msg, 0, sizeof(e->msg)); 923 923 }
+2 -2
net/ipv4/netfilter/ipt_ULOG.c
··· 37 37 #include <linux/skbuff.h> 38 38 #include <linux/kernel.h> 39 39 #include <linux/timer.h> 40 - #include <linux/netlink.h> 40 + #include <net/netlink.h> 41 41 #include <linux/netdevice.h> 42 42 #include <linux/mm.h> 43 43 #include <linux/moduleparam.h> ··· 172 172 else 173 173 copy_len = loginfo->copy_range; 174 174 175 - size = NLMSG_SPACE(sizeof(*pm) + copy_len); 175 + size = nlmsg_total_size(sizeof(*pm) + copy_len); 176 176 177 177 ub = &ulog_buffers[groupnum]; 178 178
+3 -3
net/ipv4/udp_diag.c
··· 64 64 goto out; 65 65 66 66 err = -ENOMEM; 67 - rep = alloc_skb(NLMSG_SPACE((sizeof(struct inet_diag_msg) + 68 - sizeof(struct inet_diag_meminfo) + 69 - 64)), GFP_KERNEL); 67 + rep = nlmsg_new(sizeof(struct inet_diag_msg) + 68 + sizeof(struct inet_diag_meminfo) + 64, 69 + GFP_KERNEL); 70 70 if (!rep) 71 71 goto out; 72 72
+5 -5
net/ipv6/ip6mr.c
··· 842 842 if (ipv6_hdr(skb)->version == 0) { 843 843 struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct ipv6hdr)); 844 844 nlh->nlmsg_type = NLMSG_ERROR; 845 - nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); 845 + nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr)); 846 846 skb_trim(skb, nlh->nlmsg_len); 847 - ((struct nlmsgerr *)NLMSG_DATA(nlh))->error = -ETIMEDOUT; 847 + ((struct nlmsgerr *)nlmsg_data(nlh))->error = -ETIMEDOUT; 848 848 rtnl_unicast(skb, net, NETLINK_CB(skb).portid); 849 849 } else 850 850 kfree_skb(skb); ··· 1100 1100 if (ipv6_hdr(skb)->version == 0) { 1101 1101 struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct ipv6hdr)); 1102 1102 1103 - if (__ip6mr_fill_mroute(mrt, skb, c, NLMSG_DATA(nlh)) > 0) { 1103 + if (__ip6mr_fill_mroute(mrt, skb, c, nlmsg_data(nlh)) > 0) { 1104 1104 nlh->nlmsg_len = skb_tail_pointer(skb) - (u8 *)nlh; 1105 1105 } else { 1106 1106 nlh->nlmsg_type = NLMSG_ERROR; 1107 - nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); 1107 + nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr)); 1108 1108 skb_trim(skb, nlh->nlmsg_len); 1109 - ((struct nlmsgerr *)NLMSG_DATA(nlh))->error = -EMSGSIZE; 1109 + ((struct nlmsgerr *)nlmsg_data(nlh))->error = -EMSGSIZE; 1110 1110 } 1111 1111 rtnl_unicast(skb, net, NETLINK_CB(skb).portid); 1112 1112 } else
+2 -3
net/netfilter/ipset/ip_set_core.c
··· 15 15 #include <linux/ip.h> 16 16 #include <linux/skbuff.h> 17 17 #include <linux/spinlock.h> 18 - #include <linux/netlink.h> 19 18 #include <linux/rculist.h> 20 19 #include <net/netlink.h> 21 20 ··· 1084 1085 dump_init(struct netlink_callback *cb) 1085 1086 { 1086 1087 struct nlmsghdr *nlh = nlmsg_hdr(cb->skb); 1087 - int min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); 1088 + int min_len = nlmsg_total_size(sizeof(struct nfgenmsg)); 1088 1089 struct nlattr *cda[IPSET_ATTR_CMD_MAX+1]; 1089 1090 struct nlattr *attr = (void *)nlh + min_len; 1090 1091 u32 dump_type; ··· 1300 1301 struct sk_buff *skb2; 1301 1302 struct nlmsgerr *errmsg; 1302 1303 size_t payload = sizeof(*errmsg) + nlmsg_len(nlh); 1303 - int min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); 1304 + int min_len = nlmsg_total_size(sizeof(struct nfgenmsg)); 1304 1305 struct nlattr *cda[IPSET_ATTR_CMD_MAX+1]; 1305 1306 struct nlattr *cmdattr; 1306 1307 u32 *errline;
+3 -4
net/netfilter/nfnetlink.c
··· 24 24 #include <linux/skbuff.h> 25 25 #include <asm/uaccess.h> 26 26 #include <net/sock.h> 27 - #include <net/netlink.h> 28 27 #include <linux/init.h> 29 28 30 - #include <linux/netlink.h> 29 + #include <net/netlink.h> 31 30 #include <linux/netfilter/nfnetlink.h> 32 31 33 32 MODULE_LICENSE("GPL"); ··· 143 144 return -EPERM; 144 145 145 146 /* All the messages must at least contain nfgenmsg */ 146 - if (nlh->nlmsg_len < NLMSG_LENGTH(sizeof(struct nfgenmsg))) 147 + if (nlmsg_len(nlh) < sizeof(struct nfgenmsg)) 147 148 return 0; 148 149 149 150 type = nlh->nlmsg_type; ··· 171 172 } 172 173 173 174 { 174 - int min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); 175 + int min_len = nlmsg_total_size(sizeof(struct nfgenmsg)); 175 176 u_int8_t cb_id = NFNL_MSG_TYPE(nlh->nlmsg_type); 176 177 struct nlattr *cda[ss->cb[cb_id].attr_count + 1]; 177 178 struct nlattr *attr = (void *)nlh + min_len;
+2 -2
net/netlink/af_netlink.c
··· 1646 1646 __nlmsg_put(struct sk_buff *skb, u32 portid, u32 seq, int type, int len, int flags) 1647 1647 { 1648 1648 struct nlmsghdr *nlh; 1649 - int size = NLMSG_LENGTH(len); 1649 + int size = nlmsg_msg_size(len); 1650 1650 1651 1651 nlh = (struct nlmsghdr*)skb_put(skb, NLMSG_ALIGN(size)); 1652 1652 nlh->nlmsg_type = type; ··· 1655 1655 nlh->nlmsg_pid = portid; 1656 1656 nlh->nlmsg_seq = seq; 1657 1657 if (!__builtin_constant_p(size) || NLMSG_ALIGN(size) - size != 0) 1658 - memset(NLMSG_DATA(nlh) + len, 0, NLMSG_ALIGN(size) - size); 1658 + memset(nlmsg_data(nlh) + len, 0, NLMSG_ALIGN(size) - size); 1659 1659 return nlh; 1660 1660 } 1661 1661 EXPORT_SYMBOL(__nlmsg_put);
+2 -2
net/sched/cls_api.c
··· 22 22 #include <linux/skbuff.h> 23 23 #include <linux/init.h> 24 24 #include <linux/kmod.h> 25 - #include <linux/netlink.h> 25 + #include <net/netlink.h> 26 26 #include <linux/err.h> 27 27 #include <linux/slab.h> 28 28 #include <net/net_namespace.h> ··· 428 428 const struct Qdisc_class_ops *cops; 429 429 struct tcf_dump_args arg; 430 430 431 - if (cb->nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*tcm))) 431 + if (nlmsg_len(cb->nlh) < sizeof(*tcm)) 432 432 return skb->len; 433 433 dev = __dev_get_by_index(net, tcm->tcm_ifindex); 434 434 if (!dev)
+1 -1
net/sched/sch_api.c
··· 1642 1642 struct net_device *dev; 1643 1643 int t, s_t; 1644 1644 1645 - if (cb->nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*tcm))) 1645 + if (nlmsg_len(cb->nlh) < sizeof(*tcm)) 1646 1646 return 0; 1647 1647 dev = dev_get_by_index(net, tcm->tcm_ifindex); 1648 1648 if (!dev)
+3 -3
net/tipc/netlink.c
··· 44 44 struct nlmsghdr *rep_nlh; 45 45 struct nlmsghdr *req_nlh = info->nlhdr; 46 46 struct tipc_genlmsghdr *req_userhdr = info->userhdr; 47 - int hdr_space = NLMSG_SPACE(GENL_HDRLEN + TIPC_GENL_HDRLEN); 47 + int hdr_space = nlmsg_total_size(GENL_HDRLEN + TIPC_GENL_HDRLEN); 48 48 u16 cmd; 49 49 50 50 if ((req_userhdr->cmd & 0xC000) && (!capable(CAP_NET_ADMIN))) ··· 53 53 cmd = req_userhdr->cmd; 54 54 55 55 rep_buf = tipc_cfg_do_cmd(req_userhdr->dest, cmd, 56 - NLMSG_DATA(req_nlh) + GENL_HDRLEN + TIPC_GENL_HDRLEN, 57 - NLMSG_PAYLOAD(req_nlh, GENL_HDRLEN + TIPC_GENL_HDRLEN), 56 + nlmsg_data(req_nlh) + GENL_HDRLEN + TIPC_GENL_HDRLEN, 57 + nlmsg_attrlen(req_nlh, GENL_HDRLEN + TIPC_GENL_HDRLEN), 58 58 hdr_space); 59 59 60 60 if (rep_buf) {