On Wed, Jan 03, 2001 at 11:55:30AM -0800, Guy Harris wrote:
>       if the modified program that "fix_program()" produced had an
>       illegal jump or an illegal memory reference in it - and it looks
>       as if the "sk_chk_filter()" routine in the 2.2.15 kernel, at
>       least, might not realize that the BPF *interpreter* allows
>       certain negative offsets in BPF instructions (the offset field
>       of the instruction is unsigned in the data structure it's using,
>       and it checks whether that offset is too large, so a negative
>       offset would be much too large), and, in order to test the
>       packet type to see if it's an ARP packet *when capturing in
>       cooked mode*, it'd have to use a negative offset.
> 
> However, it *shouldn't* be using cooked mode for "eth0", so that
> particular kernel bug shouldn't be biting us.

"sk_chk_filter()" doesn't care about references to packet data - it
doesn't check them, so the negative-offset references will pass its
test.

> At least when I last tried it, it worked on my home machine, running a
> 2.2.17-prewhatever kernel (whatever comes with Debian 2.2).

It worked when I tried it just now; perhaps something else is getting in
the way....
-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:[EMAIL PROTECTED]?body=unsubscribe

Reply via email to