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>
This commit is contained in:
committed by
David S. Miller
parent
3ad88cf70a
commit
a1d0cd8ed5
@@ -15,7 +15,7 @@
|
|||||||
#include <net/protocol.h>
|
#include <net/protocol.h>
|
||||||
|
|
||||||
static DEFINE_SPINLOCK(udp_offload_lock);
|
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_priv {
|
||||||
struct udp_offload *offload;
|
struct udp_offload *offload;
|
||||||
@@ -100,7 +100,7 @@ out:
|
|||||||
|
|
||||||
int udp_add_offload(struct udp_offload *uo)
|
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);
|
struct udp_offload_priv *new_offload = kzalloc(sizeof(*new_offload), GFP_KERNEL);
|
||||||
|
|
||||||
if (!new_offload)
|
if (!new_offload)
|
||||||
@@ -110,7 +110,7 @@ int udp_add_offload(struct udp_offload *uo)
|
|||||||
|
|
||||||
spin_lock(&udp_offload_lock);
|
spin_lock(&udp_offload_lock);
|
||||||
rcu_assign_pointer(new_offload->next, rcu_dereference(*head));
|
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);
|
spin_unlock(&udp_offload_lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -140,7 +140,7 @@ void udp_del_offload(struct udp_offload *uo)
|
|||||||
}
|
}
|
||||||
head = &uo_priv->next;
|
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:
|
unlock:
|
||||||
spin_unlock(&udp_offload_lock);
|
spin_unlock(&udp_offload_lock);
|
||||||
if (uo_priv != NULL)
|
if (uo_priv != NULL)
|
||||||
|
Reference in New Issue
Block a user