Commit 573ce260 authored by Hong zhi guo's avatar Hong zhi guo Committed by David S. Miller

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

Signed-off-by: default avatarHong Zhiguo <honkiko@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e5c5d22e
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/netfilter/x_tables.h> #include <linux/netfilter/x_tables.h>
#include <linux/netfilter_bridge/ebtables.h> #include <linux/netfilter_bridge/ebtables.h>
...@@ -134,7 +134,7 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb, ...@@ -134,7 +134,7 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,
else else
copy_len = uloginfo->cprange; copy_len = uloginfo->cprange;
size = NLMSG_SPACE(sizeof(*pm) + copy_len); size = nlmsg_total_size(sizeof(*pm) + copy_len);
if (size > nlbufsiz) { if (size > nlbufsiz) {
pr_debug("Size %Zd needed, but nlbufsiz=%d\n", size, nlbufsiz); pr_debug("Size %Zd needed, but nlbufsiz=%d\n", size, nlbufsiz);
return; return;
......
...@@ -2613,10 +2613,10 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) ...@@ -2613,10 +2613,10 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
type -= RTM_BASE; type -= RTM_BASE;
/* All the messages must have at least 1 byte length */ /* All the messages must have at least 1 byte length */
if (nlh->nlmsg_len < NLMSG_LENGTH(sizeof(struct rtgenmsg))) if (nlmsg_len(nlh) < sizeof(struct rtgenmsg))
return 0; return 0;
family = ((struct rtgenmsg *)NLMSG_DATA(nlh))->rtgen_family; family = ((struct rtgenmsg *)nlmsg_data(nlh))->rtgen_family;
sz_idx = type>>2; sz_idx = type>>2;
kind = type&3; kind = type&3;
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include <linux/sockios.h> #include <linux/sockios.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/rtnetlink.h> #include <linux/rtnetlink.h>
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
...@@ -492,7 +492,7 @@ int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -492,7 +492,7 @@ int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb)
if (!net_eq(net, &init_net)) if (!net_eq(net, &init_net))
return 0; return 0;
if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) && if (nlmsg_len(cb->nlh) >= sizeof(struct rtmsg) &&
((struct rtmsg *)nlmsg_data(cb->nlh))->rtm_flags&RTM_F_CLONED) ((struct rtmsg *)nlmsg_data(cb->nlh))->rtm_flags&RTM_F_CLONED)
return dn_cache_dump(skb, cb); return dn_cache_dump(skb, cb);
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/netfilter.h> #include <linux/netfilter.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/netfilter_decnet.h> #include <linux/netfilter_decnet.h>
#include <net/sock.h> #include <net/sock.h>
...@@ -39,21 +39,21 @@ static struct sk_buff *dnrmg_build_message(struct sk_buff *rt_skb, int *errp) ...@@ -39,21 +39,21 @@ static struct sk_buff *dnrmg_build_message(struct sk_buff *rt_skb, int *errp)
unsigned char *ptr; unsigned char *ptr;
struct nf_dn_rtmsg *rtm; struct nf_dn_rtmsg *rtm;
size = NLMSG_SPACE(rt_skb->len); size = NLMSG_ALIGN(rt_skb->len) +
size += NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg)); NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg));
skb = alloc_skb(size, GFP_ATOMIC); skb = nlmsg_new(size, GFP_ATOMIC);
if (!skb) { if (!skb) {
*errp = -ENOMEM; *errp = -ENOMEM;
return NULL; return NULL;
} }
old_tail = skb->tail; old_tail = skb->tail;
nlh = nlmsg_put(skb, 0, 0, 0, size - sizeof(*nlh), 0); nlh = nlmsg_put(skb, 0, 0, 0, size, 0);
if (!nlh) { if (!nlh) {
kfree_skb(skb); kfree_skb(skb);
*errp = -ENOMEM; *errp = -ENOMEM;
return NULL; return NULL;
} }
rtm = (struct nf_dn_rtmsg *)NLMSG_DATA(nlh); rtm = (struct nf_dn_rtmsg *)nlmsg_data(nlh);
rtm->nfdn_ifindex = rt_skb->dev->ifindex; rtm->nfdn_ifindex = rt_skb->dev->ifindex;
ptr = NFDN_RTMSG(rtm); ptr = NFDN_RTMSG(rtm);
skb_copy_from_linear_data(rt_skb, ptr, rt_skb->len); skb_copy_from_linear_data(rt_skb, ptr, rt_skb->len);
......
...@@ -65,7 +65,7 @@ struct sk_buff *ieee802154_nl_create(int flags, u8 req) ...@@ -65,7 +65,7 @@ struct sk_buff *ieee802154_nl_create(int flags, u8 req)
int ieee802154_nl_mcast(struct sk_buff *msg, unsigned int group) int ieee802154_nl_mcast(struct sk_buff *msg, unsigned int group)
{ {
/* XXX: nlh is right at the start of msg */ /* XXX: nlh is right at the start of msg */
void *hdr = genlmsg_data(NLMSG_DATA(msg->data)); void *hdr = genlmsg_data(nlmsg_data(msg->data));
if (genlmsg_end(msg, hdr) < 0) if (genlmsg_end(msg, hdr) < 0)
goto out; goto out;
...@@ -98,7 +98,7 @@ struct sk_buff *ieee802154_nl_new_reply(struct genl_info *info, ...@@ -98,7 +98,7 @@ struct sk_buff *ieee802154_nl_new_reply(struct genl_info *info,
int ieee802154_nl_reply(struct sk_buff *msg, struct genl_info *info) int ieee802154_nl_reply(struct sk_buff *msg, struct genl_info *info)
{ {
/* XXX: nlh is right at the start of msg */ /* XXX: nlh is right at the start of msg */
void *hdr = genlmsg_data(NLMSG_DATA(msg->data)); void *hdr = genlmsg_data(nlmsg_data(msg->data));
if (genlmsg_end(msg, hdr) < 0) if (genlmsg_end(msg, hdr) < 0)
goto out; goto out;
......
...@@ -957,8 +957,8 @@ static void nl_fib_input(struct sk_buff *skb) ...@@ -957,8 +957,8 @@ static void nl_fib_input(struct sk_buff *skb)
net = sock_net(skb->sk); net = sock_net(skb->sk);
nlh = nlmsg_hdr(skb); nlh = nlmsg_hdr(skb);
if (skb->len < NLMSG_SPACE(0) || skb->len < nlh->nlmsg_len || if (skb->len < NLMSG_HDRLEN || skb->len < nlh->nlmsg_len ||
nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*frn))) nlmsg_len(nlh) < sizeof(*frn))
return; return;
skb = skb_clone(skb, GFP_KERNEL); skb = skb_clone(skb, GFP_KERNEL);
...@@ -966,7 +966,7 @@ static void nl_fib_input(struct sk_buff *skb) ...@@ -966,7 +966,7 @@ static void nl_fib_input(struct sk_buff *skb)
return; return;
nlh = nlmsg_hdr(skb); nlh = nlmsg_hdr(skb);
frn = (struct fib_result_nl *) NLMSG_DATA(nlh); frn = (struct fib_result_nl *) nlmsg_data(nlh);
tb = fib_get_table(net, frn->tb_id_in); tb = fib_get_table(net, frn->tb_id_in);
nl_fib_lookup(frn, tb); nl_fib_lookup(frn, tb);
......
...@@ -626,9 +626,9 @@ static void ipmr_destroy_unres(struct mr_table *mrt, struct mfc_cache *c) ...@@ -626,9 +626,9 @@ static void ipmr_destroy_unres(struct mr_table *mrt, struct mfc_cache *c)
if (ip_hdr(skb)->version == 0) { if (ip_hdr(skb)->version == 0) {
struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct iphdr)); struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct iphdr));
nlh->nlmsg_type = NLMSG_ERROR; nlh->nlmsg_type = NLMSG_ERROR;
nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr));
skb_trim(skb, nlh->nlmsg_len); skb_trim(skb, nlh->nlmsg_len);
e = NLMSG_DATA(nlh); e = nlmsg_data(nlh);
e->error = -ETIMEDOUT; e->error = -ETIMEDOUT;
memset(&e->msg, 0, sizeof(e->msg)); memset(&e->msg, 0, sizeof(e->msg));
...@@ -910,14 +910,14 @@ static void ipmr_cache_resolve(struct net *net, struct mr_table *mrt, ...@@ -910,14 +910,14 @@ static void ipmr_cache_resolve(struct net *net, struct mr_table *mrt,
if (ip_hdr(skb)->version == 0) { if (ip_hdr(skb)->version == 0) {
struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct iphdr)); struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct iphdr));
if (__ipmr_fill_mroute(mrt, skb, c, NLMSG_DATA(nlh)) > 0) { if (__ipmr_fill_mroute(mrt, skb, c, nlmsg_data(nlh)) > 0) {
nlh->nlmsg_len = skb_tail_pointer(skb) - nlh->nlmsg_len = skb_tail_pointer(skb) -
(u8 *)nlh; (u8 *)nlh;
} else { } else {
nlh->nlmsg_type = NLMSG_ERROR; nlh->nlmsg_type = NLMSG_ERROR;
nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr));
skb_trim(skb, nlh->nlmsg_len); skb_trim(skb, nlh->nlmsg_len);
e = NLMSG_DATA(nlh); e = nlmsg_data(nlh);
e->error = -EMSGSIZE; e->error = -EMSGSIZE;
memset(&e->msg, 0, sizeof(e->msg)); memset(&e->msg, 0, sizeof(e->msg));
} }
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
...@@ -172,7 +172,7 @@ static void ipt_ulog_packet(unsigned int hooknum, ...@@ -172,7 +172,7 @@ static void ipt_ulog_packet(unsigned int hooknum,
else else
copy_len = loginfo->copy_range; copy_len = loginfo->copy_range;
size = NLMSG_SPACE(sizeof(*pm) + copy_len); size = nlmsg_total_size(sizeof(*pm) + copy_len);
ub = &ulog_buffers[groupnum]; ub = &ulog_buffers[groupnum];
......
...@@ -64,9 +64,9 @@ static int udp_dump_one(struct udp_table *tbl, struct sk_buff *in_skb, ...@@ -64,9 +64,9 @@ static int udp_dump_one(struct udp_table *tbl, struct sk_buff *in_skb,
goto out; goto out;
err = -ENOMEM; err = -ENOMEM;
rep = alloc_skb(NLMSG_SPACE((sizeof(struct inet_diag_msg) + rep = nlmsg_new(sizeof(struct inet_diag_msg) +
sizeof(struct inet_diag_meminfo) + sizeof(struct inet_diag_meminfo) + 64,
64)), GFP_KERNEL); GFP_KERNEL);
if (!rep) if (!rep)
goto out; goto out;
......
...@@ -842,9 +842,9 @@ static void ip6mr_destroy_unres(struct mr6_table *mrt, struct mfc6_cache *c) ...@@ -842,9 +842,9 @@ static void ip6mr_destroy_unres(struct mr6_table *mrt, struct mfc6_cache *c)
if (ipv6_hdr(skb)->version == 0) { if (ipv6_hdr(skb)->version == 0) {
struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct ipv6hdr)); struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct ipv6hdr));
nlh->nlmsg_type = NLMSG_ERROR; nlh->nlmsg_type = NLMSG_ERROR;
nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr));
skb_trim(skb, nlh->nlmsg_len); skb_trim(skb, nlh->nlmsg_len);
((struct nlmsgerr *)NLMSG_DATA(nlh))->error = -ETIMEDOUT; ((struct nlmsgerr *)nlmsg_data(nlh))->error = -ETIMEDOUT;
rtnl_unicast(skb, net, NETLINK_CB(skb).portid); rtnl_unicast(skb, net, NETLINK_CB(skb).portid);
} else } else
kfree_skb(skb); kfree_skb(skb);
...@@ -1100,13 +1100,13 @@ static void ip6mr_cache_resolve(struct net *net, struct mr6_table *mrt, ...@@ -1100,13 +1100,13 @@ static void ip6mr_cache_resolve(struct net *net, struct mr6_table *mrt,
if (ipv6_hdr(skb)->version == 0) { if (ipv6_hdr(skb)->version == 0) {
struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct ipv6hdr)); struct nlmsghdr *nlh = (struct nlmsghdr *)skb_pull(skb, sizeof(struct ipv6hdr));
if (__ip6mr_fill_mroute(mrt, skb, c, NLMSG_DATA(nlh)) > 0) { if (__ip6mr_fill_mroute(mrt, skb, c, nlmsg_data(nlh)) > 0) {
nlh->nlmsg_len = skb_tail_pointer(skb) - (u8 *)nlh; nlh->nlmsg_len = skb_tail_pointer(skb) - (u8 *)nlh;
} else { } else {
nlh->nlmsg_type = NLMSG_ERROR; nlh->nlmsg_type = NLMSG_ERROR;
nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct nlmsgerr)); nlh->nlmsg_len = nlmsg_msg_size(sizeof(struct nlmsgerr));
skb_trim(skb, nlh->nlmsg_len); skb_trim(skb, nlh->nlmsg_len);
((struct nlmsgerr *)NLMSG_DATA(nlh))->error = -EMSGSIZE; ((struct nlmsgerr *)nlmsg_data(nlh))->error = -EMSGSIZE;
} }
rtnl_unicast(skb, net, NETLINK_CB(skb).portid); rtnl_unicast(skb, net, NETLINK_CB(skb).portid);
} else } else
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/ip.h> #include <linux/ip.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/netlink.h>
#include <linux/rculist.h> #include <linux/rculist.h>
#include <net/netlink.h> #include <net/netlink.h>
...@@ -1085,7 +1084,7 @@ static int ...@@ -1085,7 +1084,7 @@ static int
dump_init(struct netlink_callback *cb) dump_init(struct netlink_callback *cb)
{ {
struct nlmsghdr *nlh = nlmsg_hdr(cb->skb); struct nlmsghdr *nlh = nlmsg_hdr(cb->skb);
int min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); int min_len = nlmsg_total_size(sizeof(struct nfgenmsg));
struct nlattr *cda[IPSET_ATTR_CMD_MAX+1]; struct nlattr *cda[IPSET_ATTR_CMD_MAX+1];
struct nlattr *attr = (void *)nlh + min_len; struct nlattr *attr = (void *)nlh + min_len;
u32 dump_type; u32 dump_type;
...@@ -1301,7 +1300,7 @@ call_ad(struct sock *ctnl, struct sk_buff *skb, struct ip_set *set, ...@@ -1301,7 +1300,7 @@ call_ad(struct sock *ctnl, struct sk_buff *skb, struct ip_set *set,
struct sk_buff *skb2; struct sk_buff *skb2;
struct nlmsgerr *errmsg; struct nlmsgerr *errmsg;
size_t payload = sizeof(*errmsg) + nlmsg_len(nlh); size_t payload = sizeof(*errmsg) + nlmsg_len(nlh);
int min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); int min_len = nlmsg_total_size(sizeof(struct nfgenmsg));
struct nlattr *cda[IPSET_ATTR_CMD_MAX+1]; struct nlattr *cda[IPSET_ATTR_CMD_MAX+1];
struct nlattr *cmdattr; struct nlattr *cmdattr;
u32 *errline; u32 *errline;
......
...@@ -24,10 +24,9 @@ ...@@ -24,10 +24,9 @@
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <net/sock.h> #include <net/sock.h>
#include <net/netlink.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/netfilter/nfnetlink.h> #include <linux/netfilter/nfnetlink.h>
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -144,7 +143,7 @@ static int nfnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) ...@@ -144,7 +143,7 @@ static int nfnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
return -EPERM; return -EPERM;
/* All the messages must at least contain nfgenmsg */ /* All the messages must at least contain nfgenmsg */
if (nlh->nlmsg_len < NLMSG_LENGTH(sizeof(struct nfgenmsg))) if (nlmsg_len(nlh) < sizeof(struct nfgenmsg))
return 0; return 0;
type = nlh->nlmsg_type; type = nlh->nlmsg_type;
...@@ -172,7 +171,7 @@ static int nfnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) ...@@ -172,7 +171,7 @@ static int nfnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
} }
{ {
int min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); int min_len = nlmsg_total_size(sizeof(struct nfgenmsg));
u_int8_t cb_id = NFNL_MSG_TYPE(nlh->nlmsg_type); u_int8_t cb_id = NFNL_MSG_TYPE(nlh->nlmsg_type);
struct nlattr *cda[ss->cb[cb_id].attr_count + 1]; struct nlattr *cda[ss->cb[cb_id].attr_count + 1];
struct nlattr *attr = (void *)nlh + min_len; struct nlattr *attr = (void *)nlh + min_len;
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include <linux/ipv6.h> #include <linux/ipv6.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/netfilter.h> #include <linux/netfilter.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/netfilter/nfnetlink.h> #include <linux/netfilter/nfnetlink.h>
#include <linux/netfilter/nfnetlink_log.h> #include <linux/netfilter/nfnetlink_log.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
...@@ -609,7 +609,7 @@ nfulnl_log_packet(u_int8_t pf, ...@@ -609,7 +609,7 @@ nfulnl_log_packet(u_int8_t pf,
/* FIXME: do we want to make the size calculation conditional based on /* FIXME: do we want to make the size calculation conditional based on
* what is actually present? way more branches and checks, but more * what is actually present? way more branches and checks, but more
* memory efficient... */ * memory efficient... */
size = NLMSG_SPACE(sizeof(struct nfgenmsg)) size = nlmsg_total_size(sizeof(struct nfgenmsg))
+ nla_total_size(sizeof(struct nfulnl_msg_packet_hdr)) + nla_total_size(sizeof(struct nfulnl_msg_packet_hdr))
+ nla_total_size(sizeof(u_int32_t)) /* ifindex */ + nla_total_size(sizeof(u_int32_t)) /* ifindex */
+ nla_total_size(sizeof(u_int32_t)) /* ifindex */ + nla_total_size(sizeof(u_int32_t)) /* ifindex */
......
...@@ -281,7 +281,7 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue, ...@@ -281,7 +281,7 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue,
struct nf_conn *ct = NULL; struct nf_conn *ct = NULL;
enum ip_conntrack_info uninitialized_var(ctinfo); enum ip_conntrack_info uninitialized_var(ctinfo);
size = NLMSG_SPACE(sizeof(struct nfgenmsg)) size = nlmsg_total_size(sizeof(struct nfgenmsg))
+ nla_total_size(sizeof(struct nfqnl_msg_packet_hdr)) + nla_total_size(sizeof(struct nfqnl_msg_packet_hdr))
+ nla_total_size(sizeof(u_int32_t)) /* ifindex */ + nla_total_size(sizeof(u_int32_t)) /* ifindex */
+ nla_total_size(sizeof(u_int32_t)) /* ifindex */ + nla_total_size(sizeof(u_int32_t)) /* ifindex */
......
...@@ -1646,7 +1646,7 @@ struct nlmsghdr * ...@@ -1646,7 +1646,7 @@ struct nlmsghdr *
__nlmsg_put(struct sk_buff *skb, u32 portid, u32 seq, int type, int len, int flags) __nlmsg_put(struct sk_buff *skb, u32 portid, u32 seq, int type, int len, int flags)
{ {
struct nlmsghdr *nlh; struct nlmsghdr *nlh;
int size = NLMSG_LENGTH(len); int size = nlmsg_msg_size(len);
nlh = (struct nlmsghdr*)skb_put(skb, NLMSG_ALIGN(size)); nlh = (struct nlmsghdr*)skb_put(skb, NLMSG_ALIGN(size));
nlh->nlmsg_type = type; nlh->nlmsg_type = type;
...@@ -1655,7 +1655,7 @@ __nlmsg_put(struct sk_buff *skb, u32 portid, u32 seq, int type, int len, int fla ...@@ -1655,7 +1655,7 @@ __nlmsg_put(struct sk_buff *skb, u32 portid, u32 seq, int type, int len, int fla
nlh->nlmsg_pid = portid; nlh->nlmsg_pid = portid;
nlh->nlmsg_seq = seq; nlh->nlmsg_seq = seq;
if (!__builtin_constant_p(size) || NLMSG_ALIGN(size) - size != 0) if (!__builtin_constant_p(size) || NLMSG_ALIGN(size) - size != 0)
memset(NLMSG_DATA(nlh) + len, 0, NLMSG_ALIGN(size) - size); memset(nlmsg_data(nlh) + len, 0, NLMSG_ALIGN(size) - size);
return nlh; return nlh;
} }
EXPORT_SYMBOL(__nlmsg_put); EXPORT_SYMBOL(__nlmsg_put);
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/kmod.h> #include <linux/kmod.h>
#include <linux/netlink.h> #include <net/netlink.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <net/net_namespace.h> #include <net/net_namespace.h>
...@@ -428,7 +428,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -428,7 +428,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
const struct Qdisc_class_ops *cops; const struct Qdisc_class_ops *cops;
struct tcf_dump_args arg; struct tcf_dump_args arg;
if (cb->nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*tcm))) if (nlmsg_len(cb->nlh) < sizeof(*tcm))
return skb->len; return skb->len;
dev = __dev_get_by_index(net, tcm->tcm_ifindex); dev = __dev_get_by_index(net, tcm->tcm_ifindex);
if (!dev) if (!dev)
......
...@@ -1642,7 +1642,7 @@ static int tc_dump_tclass(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -1642,7 +1642,7 @@ static int tc_dump_tclass(struct sk_buff *skb, struct netlink_callback *cb)
struct net_device *dev; struct net_device *dev;
int t, s_t; int t, s_t;
if (cb->nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*tcm))) if (nlmsg_len(cb->nlh) < sizeof(*tcm))
return 0; return 0;
dev = dev_get_by_index(net, tcm->tcm_ifindex); dev = dev_get_by_index(net, tcm->tcm_ifindex);
if (!dev) if (!dev)
......
...@@ -44,7 +44,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info) ...@@ -44,7 +44,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
struct nlmsghdr *rep_nlh; struct nlmsghdr *rep_nlh;
struct nlmsghdr *req_nlh = info->nlhdr; struct nlmsghdr *req_nlh = info->nlhdr;
struct tipc_genlmsghdr *req_userhdr = info->userhdr; struct tipc_genlmsghdr *req_userhdr = info->userhdr;
int hdr_space = NLMSG_SPACE(GENL_HDRLEN + TIPC_GENL_HDRLEN); int hdr_space = nlmsg_total_size(GENL_HDRLEN + TIPC_GENL_HDRLEN);
u16 cmd; u16 cmd;
if ((req_userhdr->cmd & 0xC000) && (!capable(CAP_NET_ADMIN))) if ((req_userhdr->cmd & 0xC000) && (!capable(CAP_NET_ADMIN)))
...@@ -53,8 +53,8 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info) ...@@ -53,8 +53,8 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
cmd = req_userhdr->cmd; cmd = req_userhdr->cmd;
rep_buf = tipc_cfg_do_cmd(req_userhdr->dest, cmd, rep_buf = tipc_cfg_do_cmd(req_userhdr->dest, cmd,
NLMSG_DATA(req_nlh) + GENL_HDRLEN + TIPC_GENL_HDRLEN, nlmsg_data(req_nlh) + GENL_HDRLEN + TIPC_GENL_HDRLEN,
NLMSG_PAYLOAD(req_nlh, GENL_HDRLEN + TIPC_GENL_HDRLEN), nlmsg_attrlen(req_nlh, GENL_HDRLEN + TIPC_GENL_HDRLEN),
hdr_space); hdr_space);
if (rep_buf) { if (rep_buf) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment