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
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:
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
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
> >>---
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
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
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