diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2012-11-15 04:06:41 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-15 13:46:29 -0500 |
commit | d440b72068bb8dff3cc1c2a05b61e60843d82494 (patch) | |
tree | d88dd49557e063e7cab3ff9442a3c2c3a4b0cf15 | |
parent | fea379b2db31f5c44f2a24645de5ea29721f22aa (diff) | |
download | linux-3.10-d440b72068bb8dff3cc1c2a05b61e60843d82494.tar.gz linux-3.10-d440b72068bb8dff3cc1c2a05b61e60843d82494.tar.bz2 linux-3.10-d440b72068bb8dff3cc1c2a05b61e60843d82494.zip |
sit: fix sparse warnings
This change fixes several sparse warnings about endianness problem. The wrong
nla_*() functions were used.
It also fix a sparse warning about a flag test (field i_flags). This field is
used in this file like a local flag only, so it is more an u16 (gre uses it as a
be16). This sparse warning was already there before the patch that add netlink
management, the code has just been moved.
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv6/sit.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 7bd2a061e51..ca6c2c8e71d 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -228,7 +228,7 @@ static int ipip6_tunnel_create(struct net_device *dev) goto out; ipip6_tunnel_clone_6rd(dev, sitn); - if (t->parms.i_flags & SIT_ISATAP) + if ((__force u16)t->parms.i_flags & SIT_ISATAP) dev->priv_flags |= IFF_ISATAP; err = register_netdevice(dev); @@ -1240,10 +1240,10 @@ static void ipip6_netlink_parms(struct nlattr *data[], parms->link = nla_get_u32(data[IFLA_IPTUN_LINK]); if (data[IFLA_IPTUN_LOCAL]) - parms->iph.saddr = nla_get_u32(data[IFLA_IPTUN_LOCAL]); + parms->iph.saddr = nla_get_be32(data[IFLA_IPTUN_LOCAL]); if (data[IFLA_IPTUN_REMOTE]) - parms->iph.daddr = nla_get_u32(data[IFLA_IPTUN_REMOTE]); + parms->iph.daddr = nla_get_be32(data[IFLA_IPTUN_REMOTE]); if (data[IFLA_IPTUN_TTL]) { parms->iph.ttl = nla_get_u8(data[IFLA_IPTUN_TTL]); @@ -1258,7 +1258,7 @@ static void ipip6_netlink_parms(struct nlattr *data[], parms->iph.frag_off = htons(IP_DF); if (data[IFLA_IPTUN_FLAGS]) - parms->i_flags = nla_get_u16(data[IFLA_IPTUN_FLAGS]); + parms->i_flags = nla_get_be16(data[IFLA_IPTUN_FLAGS]); } static int ipip6_newlink(struct net *src_net, struct net_device *dev, @@ -1337,7 +1337,7 @@ static int ipip6_fill_info(struct sk_buff *skb, const struct net_device *dev) nla_put_u8(skb, IFLA_IPTUN_TOS, parm->iph.tos) || nla_put_u8(skb, IFLA_IPTUN_PMTUDISC, !!(parm->iph.frag_off & htons(IP_DF))) || - nla_put_u16(skb, IFLA_IPTUN_FLAGS, parm->i_flags)) + nla_put_be16(skb, IFLA_IPTUN_FLAGS, parm->i_flags)) goto nla_put_failure; return 0; |