diff options
author | Joseph Gasparakis <joseph.gasparakis@intel.com> | 2013-09-13 10:34:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-15 22:18:13 -0400 |
commit | 35e4237973665c8a1ad4e3f7a7cb87573deaa24a (patch) | |
tree | ce2529c137ec6b1da4f81aa77c2882706bd0c80c /drivers/net | |
parent | 5c44bbdab5fd7831859cf0d38626317ffcf39558 (diff) |
vxlan: Fix sparse warnings
This patch fixes sparse warnings when incorrectly handling the port number
and using int instead of unsigned int iterating through &vn->sock_list[].
Keeping the port as __be16 also makes things clearer wrt endianess.
Also, it was pointed out that vxlan_get_rx_port() had unnecessary checks
which got removed.
Signed-off-by: Joseph Gasparakis <joseph.gasparakis@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/vxlan.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index bf64b4191dcc..2400b1beddd5 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
@@ -564,7 +564,7 @@ static void vxlan_notify_add_rx_port(struct sock *sk) | |||
564 | struct net_device *dev; | 564 | struct net_device *dev; |
565 | struct net *net = sock_net(sk); | 565 | struct net *net = sock_net(sk); |
566 | sa_family_t sa_family = sk->sk_family; | 566 | sa_family_t sa_family = sk->sk_family; |
567 | u16 port = htons(inet_sk(sk)->inet_sport); | 567 | __be16 port = inet_sk(sk)->inet_sport; |
568 | 568 | ||
569 | rcu_read_lock(); | 569 | rcu_read_lock(); |
570 | for_each_netdev_rcu(net, dev) { | 570 | for_each_netdev_rcu(net, dev) { |
@@ -581,7 +581,7 @@ static void vxlan_notify_del_rx_port(struct sock *sk) | |||
581 | struct net_device *dev; | 581 | struct net_device *dev; |
582 | struct net *net = sock_net(sk); | 582 | struct net *net = sock_net(sk); |
583 | sa_family_t sa_family = sk->sk_family; | 583 | sa_family_t sa_family = sk->sk_family; |
584 | u16 port = htons(inet_sk(sk)->inet_sport); | 584 | __be16 port = inet_sk(sk)->inet_sport; |
585 | 585 | ||
586 | rcu_read_lock(); | 586 | rcu_read_lock(); |
587 | for_each_netdev_rcu(net, dev) { | 587 | for_each_netdev_rcu(net, dev) { |
@@ -2021,7 +2021,8 @@ static struct device_type vxlan_type = { | |||
2021 | }; | 2021 | }; |
2022 | 2022 | ||
2023 | /* Calls the ndo_add_vxlan_port of the caller in order to | 2023 | /* Calls the ndo_add_vxlan_port of the caller in order to |
2024 | * supply the listening VXLAN udp ports. | 2024 | * supply the listening VXLAN udp ports. Callers are expected |
2025 | * to implement the ndo_add_vxlan_port. | ||
2025 | */ | 2026 | */ |
2026 | void vxlan_get_rx_port(struct net_device *dev) | 2027 | void vxlan_get_rx_port(struct net_device *dev) |
2027 | { | 2028 | { |
@@ -2029,16 +2030,13 @@ void vxlan_get_rx_port(struct net_device *dev) | |||
2029 | struct net *net = dev_net(dev); | 2030 | struct net *net = dev_net(dev); |
2030 | struct vxlan_net *vn = net_generic(net, vxlan_net_id); | 2031 | struct vxlan_net *vn = net_generic(net, vxlan_net_id); |
2031 | sa_family_t sa_family; | 2032 | sa_family_t sa_family; |
2032 | u16 port; | 2033 | __be16 port; |
2033 | int i; | 2034 | unsigned int i; |
2034 | |||
2035 | if (!dev || !dev->netdev_ops || !dev->netdev_ops->ndo_add_vxlan_port) | ||
2036 | return; | ||
2037 | 2035 | ||
2038 | spin_lock(&vn->sock_lock); | 2036 | spin_lock(&vn->sock_lock); |
2039 | for (i = 0; i < PORT_HASH_SIZE; ++i) { | 2037 | for (i = 0; i < PORT_HASH_SIZE; ++i) { |
2040 | hlist_for_each_entry_rcu(vs, vs_head(net, i), hlist) { | 2038 | hlist_for_each_entry_rcu(vs, &vn->sock_list[i], hlist) { |
2041 | port = htons(inet_sk(vs->sock->sk)->inet_sport); | 2039 | port = inet_sk(vs->sock->sk)->inet_sport; |
2042 | sa_family = vs->sock->sk->sk_family; | 2040 | sa_family = vs->sock->sk->sk_family; |
2043 | dev->netdev_ops->ndo_add_vxlan_port(dev, sa_family, | 2041 | dev->netdev_ops->ndo_add_vxlan_port(dev, sa_family, |
2044 | port); | 2042 | port); |