Re: [PATCH net] bpf: fix method of PTR_TO_PACKET reg id generation

2016-08-03 Thread David Miller
From: Jakub Kicinski Date: Tue, 2 Aug 2016 16:12:14 +0100 > Using per-register incrementing ID can lead to > find_good_pkt_pointers() confusing registers which > have completely different values. Consider example: ... > We need to get a UNKNOWN_VALUE with imm to force id > generation so lines

Re: [PATCH net] bpf: fix method of PTR_TO_PACKET reg id generation

2016-08-02 Thread Daniel Borkmann
On 08/02/2016 05:12 PM, Jakub Kicinski wrote: Using per-register incrementing ID can lead to find_good_pkt_pointers() confusing registers which have completely different values. Consider example: 0: (bf) r6 = r1 1: (61) r8 = *(u32 *)(r6 +76) 2: (61) r0 = *(u32 *)(r6 +80) 3: (bf) r7 = r8 4: (07)

Re: [PATCH net] bpf: fix method of PTR_TO_PACKET reg id generation

2016-08-02 Thread Alexei Starovoitov
On Tue, Aug 02, 2016 at 04:12:14PM +0100, Jakub Kicinski wrote: > Using per-register incrementing ID can lead to > find_good_pkt_pointers() confusing registers which > have completely different values. Consider example: > > 0: (bf) r6 = r1 > 1: (61) r8 = *(u32 *)(r6 +76) > 2: (61) r0 = *(u32 *)(r

[PATCH net] bpf: fix method of PTR_TO_PACKET reg id generation

2016-08-02 Thread Jakub Kicinski
Using per-register incrementing ID can lead to find_good_pkt_pointers() confusing registers which have completely different values. Consider example: 0: (bf) r6 = r1 1: (61) r8 = *(u32 *)(r6 +76) 2: (61) r0 = *(u32 *)(r6 +80) 3: (bf) r7 = r8 4: (07) r8 += 32 5: (2d) if r8 > r0 goto pc+9 R0=pkt_e