Commit eb9672f4 authored by Daniel Borkmann's avatar Daniel Borkmann Committed by David S. Miller

net: filter: misc/various cleanups

This contains only some minor misc cleanpus. We can spare us the
extra variable declaration in __skb_get_pay_offset(), the cast in
__get_random_u32() is rather unnecessary and in __sk_migrate_realloc()
we can remove the memcpy() and do a direct assignment of the structs.
Latter was suggested by Fengguang Wu found with coccinelle. Also,
remaining pointer casts of long should be unsigned long instead.
Suggested-by: default avatarFengguang Wu <fengguang.wu@intel.com>
Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 30743837
...@@ -78,9 +78,9 @@ void *bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, int k, uns ...@@ -78,9 +78,9 @@ void *bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, int k, uns
ptr = skb_network_header(skb) + k - SKF_NET_OFF; ptr = skb_network_header(skb) + k - SKF_NET_OFF;
else if (k >= SKF_LL_OFF) else if (k >= SKF_LL_OFF)
ptr = skb_mac_header(skb) + k - SKF_LL_OFF; ptr = skb_mac_header(skb) + k - SKF_LL_OFF;
if (ptr >= skb->head && ptr + size <= skb_tail_pointer(skb)) if (ptr >= skb->head && ptr + size <= skb_tail_pointer(skb))
return ptr; return ptr;
return NULL; return NULL;
} }
...@@ -89,6 +89,7 @@ static inline void *load_pointer(const struct sk_buff *skb, int k, ...@@ -89,6 +89,7 @@ static inline void *load_pointer(const struct sk_buff *skb, int k,
{ {
if (k >= 0) if (k >= 0)
return skb_header_pointer(skb, k, size, buffer); return skb_header_pointer(skb, k, size, buffer);
return bpf_internal_load_pointer_neg_helper(skb, k, size); return bpf_internal_load_pointer_neg_helper(skb, k, size);
} }
...@@ -598,14 +599,12 @@ static unsigned int pkt_type_offset(void) ...@@ -598,14 +599,12 @@ static unsigned int pkt_type_offset(void)
static u64 __skb_get_pay_offset(u64 ctx, u64 a, u64 x, u64 r4, u64 r5) static u64 __skb_get_pay_offset(u64 ctx, u64 a, u64 x, u64 r4, u64 r5)
{ {
struct sk_buff *skb = (struct sk_buff *)(long) ctx; return __skb_get_poff((struct sk_buff *)(unsigned long) ctx);
return __skb_get_poff(skb);
} }
static u64 __skb_get_nlattr(u64 ctx, u64 a, u64 x, u64 r4, u64 r5) static u64 __skb_get_nlattr(u64 ctx, u64 a, u64 x, u64 r4, u64 r5)
{ {
struct sk_buff *skb = (struct sk_buff *)(long) ctx; struct sk_buff *skb = (struct sk_buff *)(unsigned long) ctx;
struct nlattr *nla; struct nlattr *nla;
if (skb_is_nonlinear(skb)) if (skb_is_nonlinear(skb))
...@@ -626,7 +625,7 @@ static u64 __skb_get_nlattr(u64 ctx, u64 a, u64 x, u64 r4, u64 r5) ...@@ -626,7 +625,7 @@ static u64 __skb_get_nlattr(u64 ctx, u64 a, u64 x, u64 r4, u64 r5)
static u64 __skb_get_nlattr_nest(u64 ctx, u64 a, u64 x, u64 r4, u64 r5) static u64 __skb_get_nlattr_nest(u64 ctx, u64 a, u64 x, u64 r4, u64 r5)
{ {
struct sk_buff *skb = (struct sk_buff *)(long) ctx; struct sk_buff *skb = (struct sk_buff *)(unsigned long) ctx;
struct nlattr *nla; struct nlattr *nla;
if (skb_is_nonlinear(skb)) if (skb_is_nonlinear(skb))
...@@ -657,7 +656,7 @@ static u64 __get_raw_cpu_id(u64 ctx, u64 a, u64 x, u64 r4, u64 r5) ...@@ -657,7 +656,7 @@ static u64 __get_raw_cpu_id(u64 ctx, u64 a, u64 x, u64 r4, u64 r5)
/* note that this only generates 32-bit random numbers */ /* note that this only generates 32-bit random numbers */
static u64 __get_random_u32(u64 ctx, u64 a, u64 x, u64 r4, u64 r5) static u64 __get_random_u32(u64 ctx, u64 a, u64 x, u64 r4, u64 r5)
{ {
return (u64)prandom_u32(); return prandom_u32();
} }
static bool convert_bpf_extensions(struct sock_filter *fp, static bool convert_bpf_extensions(struct sock_filter *fp,
...@@ -1475,7 +1474,7 @@ static struct sk_filter *__sk_migrate_realloc(struct sk_filter *fp, ...@@ -1475,7 +1474,7 @@ static struct sk_filter *__sk_migrate_realloc(struct sk_filter *fp,
fp_new = sock_kmalloc(sk, len, GFP_KERNEL); fp_new = sock_kmalloc(sk, len, GFP_KERNEL);
if (fp_new) { if (fp_new) {
memcpy(fp_new, fp, sizeof(struct sk_filter)); *fp_new = *fp;
/* As we're kepping orig_prog in fp_new along, /* As we're kepping orig_prog in fp_new along,
* we need to make sure we're not evicting it * we need to make sure we're not evicting it
* from the old fp. * from the old fp.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment