From patchwork Thu Dec 15 02:01:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13073847 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 53867C4332F for ; Thu, 15 Dec 2022 02:01:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229748AbiLOCBR (ORCPT ); Wed, 14 Dec 2022 21:01:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229740AbiLOCBM (ORCPT ); Wed, 14 Dec 2022 21:01:12 -0500 Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 194872ED6D for ; Wed, 14 Dec 2022 18:01:12 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id 4EDBBCE1BBC for ; Thu, 15 Dec 2022 02:01:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04411C433EF; Thu, 15 Dec 2022 02:01:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1671069668; bh=jnjJ7WPsI5Zm/XZAhem2UgFQ6SMyD15ZeIo6ytQ8XdU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mVL6zPKfn7xgL/fRqkYBDpwnV8lNvodgNQkEmxK7AcF8p9ZjPcPU2sZLd0FKFVeMB +M1WeC6N6wHXZueVylbElNpZdMeRqnDah5LhGmq2c4xxjNIwHzVp8C+GEe4mx9mi8b P7y4fV5LrP6A5wBiVixQa96ZzWwx2rcxlwHrRz5YGH8aLXJ7DG93k3J7bN8tliw6aj ykIL6JFY3MllqEvEoCTHe0E6EUsZhTTWGXAqFstJiUTRfszxwPz986/Eb/0qdqmFSE 2GYNbKwmBE+hS5s0XFjZq6uK16+hHTh3KRBpDEl3O3eGQ8VOmzq0fIFJqdsjF5ZHiK D5jBrpyZBDeCA== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, jiri@resnulli.us, jacob.e.keller@intel.com, Jakub Kicinski , jiri@nvidia.com Subject: [PATCH net 1/3] devlink: hold region lock when flushing snapshots Date: Wed, 14 Dec 2022 18:01:00 -0800 Message-Id: <20221215020102.1619685-2-kuba@kernel.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221215020102.1619685-1-kuba@kernel.org> References: <20221215020102.1619685-1-kuba@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Netdevsim triggers a splat on reload, when it destroys regions with snapshots pending: WARNING: CPU: 1 PID: 787 at net/core/devlink.c:6291 devlink_region_snapshot_del+0x12e/0x140 CPU: 1 PID: 787 Comm: devlink Not tainted 6.1.0-07460-g7ae9888d6e1c #580 RIP: 0010:devlink_region_snapshot_del+0x12e/0x140 Call Trace: devl_region_destroy+0x70/0x140 nsim_dev_reload_down+0x2f/0x60 [netdevsim] devlink_reload+0x1f7/0x360 devlink_nl_cmd_reload+0x6ce/0x860 genl_family_rcv_msg_doit.isra.0+0x145/0x1c0 This is the locking assert in devlink_region_snapshot_del(), we're supposed to be holding the region->snapshot_lock here. Fixes: 2dec18ad826f ("net: devlink: remove region snapshots list dependency on devlink->lock") Signed-off-by: Jakub Kicinski Reviewed-by: Jiri Pirko --- CC: jiri@nvidia.com --- net/core/devlink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/core/devlink.c b/net/core/devlink.c index 6004bd0ccee4..d2df30829083 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -11925,8 +11925,10 @@ void devl_region_destroy(struct devlink_region *region) devl_assert_locked(devlink); /* Free all snapshots of region */ + mutex_lock(®ion->snapshot_lock); list_for_each_entry_safe(snapshot, ts, ®ion->snapshot_list, list) devlink_region_snapshot_del(region, snapshot); + mutex_unlock(®ion->snapshot_lock); list_del(®ion->list); mutex_destroy(®ion->snapshot_lock); From patchwork Thu Dec 15 02:01:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13073846 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 470B4C4167B for ; Thu, 15 Dec 2022 02:01:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229629AbiLOCBN (ORCPT ); Wed, 14 Dec 2022 21:01:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48320 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229596AbiLOCBM (ORCPT ); Wed, 14 Dec 2022 21:01:12 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D2AD2ED55 for ; Wed, 14 Dec 2022 18:01:11 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3B38DB81ABA for ; Thu, 15 Dec 2022 02:01:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7E469C433F0; Thu, 15 Dec 2022 02:01:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1671069668; bh=8h/9PS91fuqk9zlgw3gWJW81/bugpI9+OtnI9xk8F9A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UiMIk4E/VwBPBgcWbeOGAlgS1rClDQF4wZRzqUPcaXOyZbYVv7s0/tvNeKqDN55KM U7B18/Gs9O6RbQATqcpxcQkr1ud6oxA8MATS7i2+xIZHRYMYz5oiKa8UTi4SOhMCky X4sQN8K0ysLUnyGKln41biUOV2+bgQef/lE+dLPFcMZFIuVY4U0onhYvr81ywhboA1 rL3edmp6MRYtBwT9OperCEW7IpqeLpPtJlbhRrAOyGLOGpfZm31mYVSzElK2/X+l/J uo3EKzqXi+qDG75khmncznDID6dEh0M6l3ENf1CNzGK8pHQyFe7qu5o1tdvwj9qKbT OFvtLtpOboEXg== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, jiri@resnulli.us, jacob.e.keller@intel.com, Jakub Kicinski Subject: [PATCH net 2/3] selftests: devlink: fix the fd redirect in dummy_reporter_test Date: Wed, 14 Dec 2022 18:01:01 -0800 Message-Id: <20221215020102.1619685-3-kuba@kernel.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221215020102.1619685-1-kuba@kernel.org> References: <20221215020102.1619685-1-kuba@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org $number + > bash means redirect FD $number, e.g. commonly used 2> redirects stderr (fd 2). The test uses 8192> to write the number 8192 to a file, this results in: ./devlink.sh: line 499: 8192: Bad file descriptor Oddly the test also papers over this issue by checking for failure (expecting an error rather than success) so it passes, anyway. Fixes: ff18176ad806 ("selftests: Add a test of large binary to devlink health test") Signed-off-by: Jakub Kicinski --- tools/testing/selftests/drivers/net/netdevsim/devlink.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh index 9de1d123f4f5..a08c02abde12 100755 --- a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh +++ b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh @@ -496,8 +496,8 @@ dummy_reporter_test() check_reporter_info dummy healthy 3 3 10 true - echo 8192> $DEBUGFS_DIR/health/binary_len - check_fail $? "Failed set dummy reporter binary len to 8192" + echo 8192 > $DEBUGFS_DIR/health/binary_len + check_err $? "Failed set dummy reporter binary len to 8192" local dump=$(devlink health dump show $DL_HANDLE reporter dummy -j) check_err $? "Failed show dump of dummy reporter" From patchwork Thu Dec 15 02:01:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13073845 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FBB0C4332F for ; Thu, 15 Dec 2022 02:01:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229658AbiLOCBP (ORCPT ); Wed, 14 Dec 2022 21:01:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48328 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229722AbiLOCBM (ORCPT ); Wed, 14 Dec 2022 21:01:12 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ECBBF2ED5E for ; Wed, 14 Dec 2022 18:01:11 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 94A7BB81AD6 for ; Thu, 15 Dec 2022 02:01:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EAA8BC43396; Thu, 15 Dec 2022 02:01:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1671069669; bh=H/7J6sFY4CUZF9uGTq//ihOKZh+CnyTrtf6kDADZHUQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TsWIyhpRo068bDwK47zTCZ0a/+uiW4M0AJm1uPgOlKieMMfQPHFuubrZr+yYUT/6l npCQ2/QwOezxIgzV2U7JvZHeZXee1uJ1EZouh0P6P8a0pP9l49o2e7hV5DNe/9c6d3 fdSOI3FIhX4H0jBVrbomm8N29rr+SGcfNfy4tOJOlXxNF+i0Uyfi6uStSPenXtolJ7 1FO/gvZFWuaHuDKhjhkt2kcJpLvLsn4njdF/RX+dqiVIuwoMbFAqEi3T0y0n+IPfca 0sSwRLoi3yRTuSq1UyObcFWJTZd506iydJIHHjjlGS0O/65Xg8xFmRxXRlb1HxySIA pYc9OLdQS/yoQ== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, jiri@resnulli.us, jacob.e.keller@intel.com, Jakub Kicinski Subject: [PATCH net 3/3] selftests: devlink: add a warning for interfaces coming up Date: Wed, 14 Dec 2022 18:01:02 -0800 Message-Id: <20221215020102.1619685-4-kuba@kernel.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221215020102.1619685-1-kuba@kernel.org> References: <20221215020102.1619685-1-kuba@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org NetworkManager (and other daemons) may bring the interface up and cause failures in quiescence checks. Print a helpful warning, and take the interface down again. I seem to forget about this every time I run these tests on a new VM. Signed-off-by: Jakub Kicinski --- .../selftests/drivers/net/netdevsim/devlink_trap.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink_trap.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink_trap.sh index 109900c817be..b64d98ca0df7 100755 --- a/tools/testing/selftests/drivers/net/netdevsim/devlink_trap.sh +++ b/tools/testing/selftests/drivers/net/netdevsim/devlink_trap.sh @@ -47,6 +47,17 @@ if [ -d "${NETDEVSIM_PATH}/devices/netdevsim${DEV_ADDR}" ]; then exit 1 fi +check_netdev_down() +{ + state=$(cat /sys/class/net/${NETDEV}/flags) + + if [ $((state & 1)) -ne 0 ]; then + echo "WARNING: unexpected interface UP, disable NetworkManager?" + + ip link set dev $NETDEV down + fi +} + init_test() { RET=0 @@ -151,6 +162,7 @@ trap_stats_test() RET=0 + check_netdev_down for trap_name in $(devlink_traps_get); do devlink_trap_stats_idle_test $trap_name check_err $? "Stats of trap $trap_name not idle when netdev down" @@ -254,6 +266,7 @@ trap_group_stats_test() RET=0 + check_netdev_down for group_name in $(devlink_trap_groups_get); do devlink_trap_group_stats_idle_test $group_name check_err $? "Stats of trap group $group_name not idle when netdev down"