Message ID | 1364563360-3516-1-git-send-email-honkiko@gmail.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On 03/29/13 at 09:22pm, Hong Zhiguo wrote: > Signed-off-by: Hong Zhiguo <honkiko@gmail.com> > --- > net/ieee802154/netlink.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/net/ieee802154/netlink.c b/net/ieee802154/netlink.c > index 9247252..91b0363 100644 > --- a/net/ieee802154/netlink.c > +++ b/net/ieee802154/netlink.c > @@ -65,7 +65,8 @@ struct sk_buff *ieee802154_nl_create(int flags, u8 req) > int ieee802154_nl_mcast(struct sk_buff *msg, unsigned int group) > { > /* XXX: nlh is right at the start of msg */ > - void *hdr = genlmsg_data(nlmsg_data(msg->data)); > + struct nlmsghdr *nlh = (struct nlmsghdr *)msg->data; > + void *hdr = genlmsg_data(nlmsg_data(nlh)); You should be using nlmsg_hdr() which would also allow to drop the 'XXX' comment. Obviously this was a partial API abuse that lead to these warnings and the whole point of converting is to trigger such warnings instead of silently accept msitakes, but it would have been great to catch this in the first place by compiling with allmodconfig + some random configs. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ieee802154/netlink.c b/net/ieee802154/netlink.c index 9247252..91b0363 100644 --- a/net/ieee802154/netlink.c +++ b/net/ieee802154/netlink.c @@ -65,7 +65,8 @@ struct sk_buff *ieee802154_nl_create(int flags, u8 req) int ieee802154_nl_mcast(struct sk_buff *msg, unsigned int group) { /* XXX: nlh is right at the start of msg */ - void *hdr = genlmsg_data(nlmsg_data(msg->data)); + struct nlmsghdr *nlh = (struct nlmsghdr *)msg->data; + void *hdr = genlmsg_data(nlmsg_data(nlh)); if (genlmsg_end(msg, hdr) < 0) goto out; @@ -98,7 +99,8 @@ struct sk_buff *ieee802154_nl_new_reply(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 */ - void *hdr = genlmsg_data(nlmsg_data(msg->data)); + struct nlmsghdr *nlh = (struct nlmsghdr *)msg->data; + void *hdr = genlmsg_data(nlmsg_data(nlh)); if (genlmsg_end(msg, hdr) < 0) goto out;
Signed-off-by: Hong Zhiguo <honkiko@gmail.com> --- net/ieee802154/netlink.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)