From aef030532b559e937f161937025c18e58be85b68 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Tue, 5 Jul 2005 14:10:40 -0700 Subject: [PATCH] --- yaml --- r: 4109 b: refs/heads/master c: 3154e540e374bbfd62693d95bc8ed51da95efe75 h: refs/heads/master i: 4107: ca5f6dd22eb36d1510be698059ef4b66737827a1 v: v3 --- [refs] | 2 +- trunk/net/core/filter.c | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index c34ceb871345..6a68b15dc474 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0b05b2a49e430220876f8faa7e4778dc7497033c +refs/heads/master: 3154e540e374bbfd62693d95bc8ed51da95efe75 diff --git a/trunk/net/core/filter.c b/trunk/net/core/filter.c index 3923428a840f..cd91a24f9720 100644 --- a/trunk/net/core/filter.c +++ b/trunk/net/core/filter.c @@ -76,10 +76,6 @@ static inline void *load_pointer(struct sk_buff *skb, int k, int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int flen) { - /* len is UNSIGNED. Byte wide insns relies only on implicit - type casts to prevent reading arbitrary memory locations. - */ - unsigned int len = skb->len-skb->data_len; struct sock_filter *fentry; /* We walk down these */ void *ptr; u32 A = 0; /* Accumulator */ @@ -206,10 +202,10 @@ int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int flen) } return 0; case BPF_LD|BPF_W|BPF_LEN: - A = len; + A = skb->len; continue; case BPF_LDX|BPF_W|BPF_LEN: - X = len; + X = skb->len; continue; case BPF_LD|BPF_W|BPF_IND: k = X + fentry->k;