diff options
author | Shlomo Pongratz <shlomop@mellanox.com> | 2014-01-22 17:23:29 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-24 00:59:08 +0400 |
commit | a1d0cd8ed5d315a1f2e9dec54920b73b9b30147b (patch) | |
tree | d5be1b3ce26cb7e83b82c021641c5e8303640d8b | |
parent | 3ad88cf70af79e6f19c4f89dd85453ba4fdf425e (diff) | |
download | linux-a1d0cd8ed5d315a1f2e9dec54920b73b9b30147b.tar.xz |
net/udp_offload: Handle static checker complaints
Fixed few issues around using __rcu prefix and rcu_assign_pointer, also
fixed a warning print to use ntohs(port) and not htons(port).
net/ipv4/udp_offload.c:112:9: error: incompatible types in comparison expression (different address spaces)
net/ipv4/udp_offload.c:113:9: error: incompatible types in comparison expression (different address spaces)
net/ipv4/udp_offload.c:176:19: error: incompatible types in comparison expression (different address spaces)
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/udp_offload.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c index ee853c55deea..25f5cee3a08a 100644 --- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c @@ -15,7 +15,7 @@ #include <net/protocol.h> static DEFINE_SPINLOCK(udp_offload_lock); -static struct udp_offload_priv *udp_offload_base __read_mostly; +static struct udp_offload_priv __rcu *udp_offload_base __read_mostly; struct udp_offload_priv { struct udp_offload *offload; @@ -100,7 +100,7 @@ out: int udp_add_offload(struct udp_offload *uo) { - struct udp_offload_priv **head = &udp_offload_base; + struct udp_offload_priv __rcu **head = &udp_offload_base; struct udp_offload_priv *new_offload = kzalloc(sizeof(*new_offload), GFP_KERNEL); if (!new_offload) @@ -110,7 +110,7 @@ int udp_add_offload(struct udp_offload *uo) spin_lock(&udp_offload_lock); rcu_assign_pointer(new_offload->next, rcu_dereference(*head)); - rcu_assign_pointer(*head, rcu_dereference(new_offload)); + rcu_assign_pointer(*head, new_offload); spin_unlock(&udp_offload_lock); return 0; @@ -140,7 +140,7 @@ void udp_del_offload(struct udp_offload *uo) } head = &uo_priv->next; } - pr_warn("udp_del_offload: didn't find offload for port %d\n", htons(uo->port)); + pr_warn("udp_del_offload: didn't find offload for port %d\n", ntohs(uo->port)); unlock: spin_unlock(&udp_offload_lock); if (uo_priv != NULL) |