Re: [PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-14 Thread Daniel Borkmann
On 11/14/2016 07:27 PM, Saeed Mahameed wrote: On 11/14/2016 02:43 AM, Daniel Borkmann wrote: There are multiple issues in mlx5e_xdp_set(): 1) prog can be NULL, so calling unconditionally into bpf_prog_add(prog, priv->params.num_channels) can end badly. not correct, if prog is null we

Re: [PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-14 Thread Saeed Mahameed
On 11/14/2016 02:43 AM, Daniel Borkmann wrote: > There are multiple issues in mlx5e_xdp_set(): > > 1) prog can be NULL, so calling unconditionally into bpf_prog_add(prog, >priv->params.num_channels) can end badly. not correct, if prog is null we will never get to bpf_prog_add:

Re: [PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-14 Thread Daniel Borkmann
On 11/14/2016 06:35 PM, Alexei Starovoitov wrote: On Mon, Nov 14, 2016 at 09:49:49AM +0100, Daniel Borkmann wrote: On 11/14/2016 03:49 AM, Alexei Starovoitov wrote: On Mon, Nov 14, 2016 at 01:43:41AM +0100, Daniel Borkmann wrote: [...] diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c

Re: [PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-14 Thread Alexei Starovoitov
On Mon, Nov 14, 2016 at 09:49:49AM +0100, Daniel Borkmann wrote: > On 11/14/2016 03:49 AM, Alexei Starovoitov wrote: > >On Mon, Nov 14, 2016 at 01:43:41AM +0100, Daniel Borkmann wrote: > [...] > >>diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c > >>index 751e806..a0fca9f 100644 > >>---

Re: [PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-14 Thread Daniel Borkmann
On 11/14/2016 03:49 AM, Alexei Starovoitov wrote: On Mon, Nov 14, 2016 at 01:43:41AM +0100, Daniel Borkmann wrote: [...] diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 751e806..a0fca9f 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -682,6 +682,17 @@ struct

Re: [PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-13 Thread Alexei Starovoitov
On Mon, Nov 14, 2016 at 01:43:41AM +0100, Daniel Borkmann wrote: > There are multiple issues in mlx5e_xdp_set(): > > 1) prog can be NULL, so calling unconditionally into bpf_prog_add(prog, >priv->params.num_channels) can end badly. > > 2) The batched bpf_prog_add() should be done at an

[PATCH net 2/3] bpf, mlx5: fix various refcount/prog issues in mlx5e_xdp_set

2016-11-13 Thread Daniel Borkmann
There are multiple issues in mlx5e_xdp_set(): 1) prog can be NULL, so calling unconditionally into bpf_prog_add(prog, priv->params.num_channels) can end badly. 2) The batched bpf_prog_add() should be done at an earlier point in time. This makes sure that we cannot fail anymore at the time