Received: by 2002:ab2:710b:0:b0:1ef:a325:1205 with SMTP id z11csp1854382lql; Wed, 13 Mar 2024 09:55:00 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVfC+m7vTYQURNptTuWhWhqCTBmEH5UjTqyLT+532xIOE1Xg+2ku27tm2hkZxh5+qHL8EXxJY4Xdl6SYpelvqDCzMsxJtypmpZY58WpDw== X-Google-Smtp-Source: AGHT+IErvoQP9Lv1xCQBK62c8yaIsCaVeSrQMJNXY8YzOVEUVeDnSOdXevfl5pGVHWsKr54mWRQP X-Received: by 2002:a5b:949:0:b0:dc7:776b:5e4a with SMTP id x9-20020a5b0949000000b00dc7776b5e4amr3047601ybq.56.1710348900204; Wed, 13 Mar 2024 09:55:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710348900; cv=pass; d=google.com; s=arc-20160816; b=z/eBbyHCOrd/W2H2eLmF79bVHDDNNjo5XQcY09BYQhjZ7hkh9vNe3PbPFUIioR9ZGg vhQzdePucPXjUcax+8nA/L5iORIte1wYJaFzlTQBBjO1N9dTa+4vBTwPw6GLsDXkym+d EgIkYMt/ZDWH8Uvs1f3ntoIRv3k731Cyemf2qvBeajss56AFPDu5DozrZU17Zjl+TiXq 6oGh3HP8beXuiBQTH9mX8zu5JEaKs3JYnayxWC3zi0MirA44B6YJoZIrESdJUBdOImCB 7m6TNa9ycX5JOI12i22N47ODLwD8uuU6ZXo04FTwMMopHBfkZ3EevcjlFB6DZhDafIIb uRjQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=uD6ZXhdIuOOq0K0A7yX1YOS+ZdiaNbjt3wk4kAfPcfU=; fh=mEwjDS9sN4vTTGQbA51cVfFptuGiqkd96FYC4B4tm/s=; b=0IMyYTmi6ma11bQkLSwFLbn13nHB2/IKmQ7+VDvhziBXbOw7SZN4MvhzxFLx4/C3wT wUmGOZjvnGQxjnTDx1wvqmViJrV7oK7h+zXqa3D2ky+rts6FyOhd2s7xgda3EQCHINe6 PobUmzHYeHmXZNPOXhlj1EIFgypAArwvEQqpX8ZWD94xVQBu8xzWPcvS3KgNTa4wPfPp 6SC5AHCw6ySbp8wAcHigXbSxWfpBdOGuZDVZ82nwVRwj7ouZuzze14yy38Dve39bAFmH gVFHAC3U+/BOvvEjMnVe9Y8hKLUtJTofZFZcby6rP0QOha5ntiBKXgkeL8dEA3IrE8T5 t52Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=DA19S5L4; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-101833-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-101833-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id d13-20020ac85d8d000000b0042f248aea57si10237335qtx.448.2024.03.13.09.55.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 09:55:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-101833-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=DA19S5L4; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-101833-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-101833-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id E9C1D1C20DE7 for ; Wed, 13 Mar 2024 16:54:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 933C16E619; Wed, 13 Mar 2024 16:37:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DA19S5L4" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B46496E604; Wed, 13 Mar 2024 16:37:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710347868; cv=none; b=PCUj71L65+ch9bBQNQ2Waw0d8V5oPPDA9XYQxUFD/YvxmwPi0TqfnTbCEfQvIUyrJyxX/WTVpZh7pKUXAIIxUI5wg5xpWDQXeKjx72kPIhWl6UY0y42J8xR2RZWXb8cAZExunE9voDrvYntFZamsFVU5gvm2ZBKqBhAxLs6wOgQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710347868; c=relaxed/simple; bh=NfGB84W7kSIPl3PnIMLdf/TItkTQIHgCMbPF4hc6y78=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JXnU/W1DcC+Z1Lz3qWP8tqiS5U0TmO302+NpHDqV6RkjBvxEZ3svfY82hPbg/N9DdtMX3PlcHPdxPuS/UAG/gtyFrIRzCvCyDSXFSaBa3FzkYYMS4fNHu6LGaeX810XHAzkN76JBTcXMiUQJAKwfEqI/LpH3lip3NrbeVvS1C2s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DA19S5L4; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0E3ECC43394; Wed, 13 Mar 2024 16:37:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710347868; bh=NfGB84W7kSIPl3PnIMLdf/TItkTQIHgCMbPF4hc6y78=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DA19S5L42pqPUieHPB6Y3HoiECe5Qx8+UXwtJJ3qIgovUoNxme/YaNddxIgKMxzkT 9jScKs9W3P211lfshgI66+auAh4E5R4+yPXhWJLIL4HJetrVKMDrfrKT8D+0IORx4w +DLNSM4a9267DQ6Icq2S6A5HAtAbc+hc6pArwve6GzTYzQolaFklvKAnWrnPV+OEM5 beyUgBFXBuN6tSVg0Q42NQwanuzqffPasl7Dnb0zSiT/YYygRWJR/TN+uOjyWr7y/X JU5zAMMDcYJ8CtJ6i+OkoEUvi58ETiokHqVzeBoM/SqIPuO1fChsT1f5q+slcXf74d bC0HKHqu2qlcw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniel Borkmann , Magnus Karlsson , Prashant Batra , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Jakub Kicinski , Alexei Starovoitov , Sasha Levin Subject: [PATCH 6.6 30/60] xdp, bonding: Fix feature flags when there are no slave devs anymore Date: Wed, 13 Mar 2024 12:36:37 -0400 Message-ID: <20240313163707.615000-31-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240313163707.615000-1-sashal@kernel.org> References: <20240313163707.615000-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.6.22-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-6.6.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 6.6.22-rc1 X-KernelTest-Deadline: 2024-03-15T16:36+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Daniel Borkmann [ Upstream commit f267f262815033452195f46c43b572159262f533 ] Commit 9b0ed890ac2a ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY") changed the driver from reporting everything as supported before a device was bonded into having the driver report that no XDP feature is supported until a real device is bonded as it seems to be more truthful given eventually real underlying devices decide what XDP features are supported. The change however did not take into account when all slave devices get removed from the bond device. In this case after 9b0ed890ac2a, the driver keeps reporting a feature mask of 0x77, that is, NETDEV_XDP_ACT_MASK & ~NETDEV_XDP_ACT_XSK_ZEROCOPY whereas it should have reported a feature mask of 0. Fix it by resetting XDP feature flags in the same way as if no XDP program is attached to the bond device. This was uncovered by the XDP bond selftest which let BPF CI fail. After adjusting the starting masks on the latter to 0 instead of NETDEV_XDP_ACT_MASK the test passes again together with this fix. Fixes: 9b0ed890ac2a ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY") Signed-off-by: Daniel Borkmann Cc: Magnus Karlsson Cc: Prashant Batra Cc: Toke Høiland-Jørgensen Cc: Jakub Kicinski Reviewed-by: Toke Høiland-Jørgensen Message-ID: <20240305090829.17131-1-daniel@iogearbox.net> Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin --- drivers/net/bonding/bond_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 6cf7f364704e8..b094c48bebc30 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -1811,7 +1811,7 @@ void bond_xdp_set_features(struct net_device *bond_dev) ASSERT_RTNL(); - if (!bond_xdp_check(bond)) { + if (!bond_xdp_check(bond) || !bond_has_slaves(bond)) { xdp_clear_features_flag(bond_dev); return; } -- 2.43.0