Re: Kernel 2.6.13 breaks libpcap (and tcpdump).

From: Patrick McHardy
Date: Sun Sep 04 2005 - 12:07:12 EST


Herbert Xu wrote:
We aren't handling the reading of specific fields like the IP protocol
field correctly. This patch should make it work again.

I can't spot the problem, could you give me a hint?

I tried to move this logic into the new load_pointer function but it
all came out messy so I simply rolled it back.

case BPF_LD|BPF_W|BPF_ABS:
k = fentry->k;
load_w:
- ptr = load_pointer(skb, k, 4, &tmp);
+ if (k >= 0)
+ ptr = skb_header_pointer(skb, k, 4, &tmp);
+ else if (k < SKF_AD_OFF)
+ ptr = load_pointer(skb, k);
+ else
+ break;

The old value of ptr will be used in this case, it should
be explicitly set to NULL to abort.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/