Re: [PATCH v2] bpf: fix a bug in verification logic when SUB operation taken on FRAME_PTR

2015-06-18 Thread Wangnan (F)
On 2015/6/19 0:00, Alexei Starovoitov wrote: On Thu, Jun 18, 2015 at 08:31:45AM +, Wang Nan wrote: Original code has a problem, cause following code failed to pass verifier: r1 <- r10 r1 -= 8 r2 = 8 r3 = unsafe pointer call BPF_FUNC_probe_read <-- R1 type=inv expected=fp

Re: [PATCH v2] bpf: fix a bug in verification logic when SUB operation taken on FRAME_PTR

2015-06-18 Thread Alexei Starovoitov
On Thu, Jun 18, 2015 at 08:31:45AM +, Wang Nan wrote: > Original code has a problem, cause following code failed to pass verifier: > > r1 <- r10 > r1 -= 8 > r2 = 8 > r3 = unsafe pointer > call BPF_FUNC_probe_read <-- R1 type=inv expected=fp > > However, by replacing 'r1 -= 8' to 'r1 +=

[PATCH v2] bpf: fix a bug in verification logic when SUB operation taken on FRAME_PTR

2015-06-18 Thread Wang Nan
Original code has a problem, cause following code failed to pass verifier: r1 <- r10 r1 -= 8 r2 = 8 r3 = unsafe pointer call BPF_FUNC_probe_read <-- R1 type=inv expected=fp However, by replacing 'r1 -= 8' to 'r1 += -8' the above program can be loaded successfully. This is because the

Re: [PATCH v2] bpf: fix a bug in verification logic when SUB operation taken on FRAME_PTR

2015-06-18 Thread Alexei Starovoitov
On Thu, Jun 18, 2015 at 08:31:45AM +, Wang Nan wrote: Original code has a problem, cause following code failed to pass verifier: r1 - r10 r1 -= 8 r2 = 8 r3 = unsafe pointer call BPF_FUNC_probe_read -- R1 type=inv expected=fp However, by replacing 'r1 -= 8' to 'r1 += -8' the

Re: [PATCH v2] bpf: fix a bug in verification logic when SUB operation taken on FRAME_PTR

2015-06-18 Thread Wangnan (F)
On 2015/6/19 0:00, Alexei Starovoitov wrote: On Thu, Jun 18, 2015 at 08:31:45AM +, Wang Nan wrote: Original code has a problem, cause following code failed to pass verifier: r1 - r10 r1 -= 8 r2 = 8 r3 = unsafe pointer call BPF_FUNC_probe_read -- R1 type=inv expected=fp

[PATCH v2] bpf: fix a bug in verification logic when SUB operation taken on FRAME_PTR

2015-06-18 Thread Wang Nan
Original code has a problem, cause following code failed to pass verifier: r1 - r10 r1 -= 8 r2 = 8 r3 = unsafe pointer call BPF_FUNC_probe_read -- R1 type=inv expected=fp However, by replacing 'r1 -= 8' to 'r1 += -8' the above program can be loaded successfully. This is because the