|
@@ -74,7 +74,6 @@ static inline void *load_pointer(struct sk_buff *skb, int k,
|
|
|
* filtering, filter is the array of filter instructions, and
|
|
|
* len is the number of filter blocks in the array.
|
|
|
*/
|
|
|
-
|
|
|
unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int flen)
|
|
|
{
|
|
|
struct sock_filter *fentry; /* We walk down these */
|
|
@@ -175,7 +174,7 @@ unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int
|
|
|
continue;
|
|
|
case BPF_LD|BPF_W|BPF_ABS:
|
|
|
k = fentry->k;
|
|
|
- load_w:
|
|
|
+load_w:
|
|
|
ptr = load_pointer(skb, k, 4, &tmp);
|
|
|
if (ptr != NULL) {
|
|
|
A = ntohl(*(u32 *)ptr);
|
|
@@ -184,7 +183,7 @@ unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int
|
|
|
break;
|
|
|
case BPF_LD|BPF_H|BPF_ABS:
|
|
|
k = fentry->k;
|
|
|
- load_h:
|
|
|
+load_h:
|
|
|
ptr = load_pointer(skb, k, 2, &tmp);
|
|
|
if (ptr != NULL) {
|
|
|
A = ntohs(*(u16 *)ptr);
|
|
@@ -374,7 +373,7 @@ int sk_chk_filter(struct sock_filter *filter, int flen)
|
|
|
case BPF_JMP|BPF_JSET|BPF_K:
|
|
|
case BPF_JMP|BPF_JSET|BPF_X:
|
|
|
/* for conditionals both must be safe */
|
|
|
- if (pc + ftest->jt + 1 >= flen ||
|
|
|
+ if (pc + ftest->jt + 1 >= flen ||
|
|
|
pc + ftest->jf + 1 >= flen)
|
|
|
return -EINVAL;
|
|
|
break;
|
|
@@ -384,7 +383,7 @@ int sk_chk_filter(struct sock_filter *filter, int flen)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return (BPF_CLASS(filter[flen - 1].code) == BPF_RET) ? 0 : -EINVAL;
|
|
|
+ return (BPF_CLASS(filter[flen - 1].code) == BPF_RET) ? 0 : -EINVAL;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -404,8 +403,8 @@ int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk)
|
|
|
int err;
|
|
|
|
|
|
/* Make sure new filter is there and in the right amounts. */
|
|
|
- if (fprog->filter == NULL)
|
|
|
- return -EINVAL;
|
|
|
+ if (fprog->filter == NULL)
|
|
|
+ return -EINVAL;
|
|
|
|
|
|
fp = sock_kmalloc(sk, fsize+sizeof(*fp), GFP_KERNEL);
|
|
|
if (!fp)
|