On Sat, Nov 19, 2016 at 2:45 AM, Daniel Borkmann <dan...@iogearbox.net> wrote: > There are multiple issues in mlx5e_xdp_set(): > > 1) The batched bpf_prog_add() is currently not checked for errors. When > doing so, it should be done at an earlier point in time to makes sure > that we cannot fail anymore at the time we want to set the program for > each channel. The batched refs short-cut can only be performed when we > don't need to perform a reset for changing the rq type and the device > was in opened state. In case the device was not in opened state, then > the next mlx5e_open_locked() will aquire the refs from the control prog > via mlx5e_create_rq(), same when we need to perform a reset. > > 2) When swapping the priv->xdp_prog, then no extra reference count must be > taken since we got that from call path via dev_change_xdp_fd() already. > Otherwise, we'd never be able to release the program. Also, bpf_prog_add() > without checking the return code could fail. > > Fixes: 86994156c736 ("net/mlx5e: XDP fast RX drop bpf programs support") > Signed-off-by: Daniel Borkmann <dan...@iogearbox.net>
Acked-by: Saeed Mahameed <sae...@mellanox.com>