From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [PATCH net v2 07/10] bpf: offload: ignore namespace moves Date: Mon, 20 Nov 2017 15:21:57 -0800 Message-ID: <20171120232200.14846-8-jakub.kicinski@netronome.com> References: <20171120232200.14846-1-jakub.kicinski@netronome.com> Cc: oss-drivers@netronome.com, alexei.starovoitov@gmail.com, daniel@iogearbox.net, Jakub Kicinski To: netdev@vger.kernel.org Return-path: Received: from mail-pg0-f67.google.com ([74.125.83.67]:34093 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751835AbdKTXWb (ORCPT ); Mon, 20 Nov 2017 18:22:31 -0500 Received: by mail-pg0-f67.google.com with SMTP id 4so8630954pge.1 for ; Mon, 20 Nov 2017 15:22:31 -0800 (PST) In-Reply-To: <20171120232200.14846-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: We are currently destroying the device offload state when device moves to another net namespace. This doesn't break with current NFP code, because offload state is not used on program removal, but it's not correct behaviour. Ignore the device unregister notifications on namespace move. Signed-off-by: Jakub Kicinski --- kernel/bpf/offload.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/bpf/offload.c b/kernel/bpf/offload.c index a778e5df7e26..d4267c674fec 100644 --- a/kernel/bpf/offload.c +++ b/kernel/bpf/offload.c @@ -174,6 +174,10 @@ static int bpf_offload_notification(struct notifier_block *notifier, switch (event) { case NETDEV_UNREGISTER: + /* ignore namespace changes */ + if (netdev->reg_state != NETREG_UNREGISTERING) + break; + list_for_each_entry_safe(offload, tmp, &bpf_prog_offload_devs, offloads) { if (offload->netdev == netdev) -- 2.14.1