[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <78BC2DFF-D2F5-494E-BDDE-10F42C8F9E51@flugsvamp.com>
Date: Wed, 14 Aug 2019 10:57:19 -0700
From: "Jonathan Lemon" <jlemon@...gsvamp.com>
To: "Maxim Mikityanskiy" <maximmi@...lanox.com>
Cc: "Alexei Starovoitov" <ast@...nel.org>,
"Daniel Borkmann" <daniel@...earbox.net>,
"Jakub Kicinski" <jakub.kicinski@...ronome.com>,
bpf@...r.kernel.org, netdev@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>,
"Björn Töpel" <bjorn.topel@...el.com>,
"Saeed Mahameed" <saeedm@...lanox.com>,
"Jesper Dangaard Brouer" <hawk@...nel.org>,
"John Fastabend" <john.fastabend@...il.com>,
"Martin KaFai Lau" <kafai@...com>,
"Song Liu" <songliubraving@...com>, "Yonghong Song" <yhs@...com>
Subject: Re: [PATCH bpf-next v2] net: Don't call XDP_SETUP_PROG when nothing
is changed
On 14 Aug 2019, at 7:34, Maxim Mikityanskiy wrote:
> Don't uninstall an XDP program when none is installed, and don't install
> an XDP program that has the same ID as the one already installed.
>
> dev_change_xdp_fd doesn't perform any checks in case it uninstalls an
> XDP program. It means that the driver's ndo_bpf can be called with
> XDP_SETUP_PROG asking to set it to NULL even if it's already NULL. This
> case happens if the user runs `ip link set eth0 xdp off` when there is
> no XDP program attached.
>
> The symmetrical case is possible when the user tries to set the program
> that is already set.
>
> The drivers typically perform some heavy operations on XDP_SETUP_PROG,
> so they all have to handle these cases internally to return early if
> they happen. This patch puts this check into the kernel code, so that
> all drivers will benefit from it.
>
> Signed-off-by: Maxim Mikityanskiy <maximmi@...lanox.com>
Acked-by: Jonathan Lemon <jonathan.lemon@...il.com>
Powered by blists - more mailing lists