summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorShlomo Pongratz <shlomop@mellanox.com>2014-01-22 14:23:29 +0100
committerDavid S. Miller <davem@davemloft.net>2014-01-23 21:59:08 +0100
commita1d0cd8ed5d315a1f2e9dec54920b73b9b30147b (patch)
treed5be1b3ce26cb7e83b82c021641c5e8303640d8b /net
parenttcp: metrics: Handle v6/v4-mapped sockets in tcp-metrics (diff)
downloadlinux-a1d0cd8ed5d315a1f2e9dec54920b73b9b30147b.tar.xz
linux-a1d0cd8ed5d315a1f2e9dec54920b73b9b30147b.zip
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>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/udp_offload.c8
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)