From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2C5CDF8E4B7 for ; Fri, 17 Apr 2026 07:36:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Date: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:References: In-Reply-To:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sZFa0Y6SNH7feOYzK068DAaPycmuuvoLtoILesXaXIs=; b=U2HU4KPWhl5P2E UdSEAo/wid6tO212ZeLdDK+Ox2Nx04kPC3BxiXjthbGET58FFetGdq9hVYs7zorPEUMdfww8y953B A7b+BehAY97c8nYNthpY+KJTEMutc7iweOEBKqYjlXCPu7Dn3IGvFRFPwCfPdJKQ6o9AfR4bu3kTe QXh4dVXfywKi+X28TpU04WrXLmhMrUCMeWbmFsF+h7wsCz8PpeqbX6GmETJyuzxzmxelcAHvfigSg sijElu3nmwB+BOdWI5ag+DkUierRK1UwSCr+xhCwn9BjVGTA8L06UnNGbnIsB0kWpBZ1In33QIHYK Q1xhZ+5j+SDj2eu9Qrrg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wDdkB-00000003bIP-3r9U; Fri, 17 Apr 2026 07:36:03 +0000 Received: from crocodile.elm.relay.mailchannels.net ([23.83.212.45]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wDdk8-00000003bE4-3cF2; Fri, 17 Apr 2026 07:36:02 +0000 X-Sender-Id: hostingeremail|x-authuser|chester.a.unal@arinc9.com Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id DAA32223A24; Fri, 17 Apr 2026 07:35:51 +0000 (UTC) Received: from de-fra-smtpout6.hostinger.io (trex-green-7.trex.outbound.svc.cluster.local [100.102.173.237]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id 7D046224550; Fri, 17 Apr 2026 07:35:48 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1776411351; b=xwqOTTHuxZqySqgXbolI7aGsz2fNhJV3L1ETsaC4yE+dp7CvqvuiQ+rBrVMdsPq+zGk+b5 A9Ri/iwgpGloCikYMGfKtA/hs/P+Pl95vX7Y+VeqykxF7an5PtyTVsM2oSebZqogfzkXgE D2w3orsAshuICG+bQhvhrQ2rmslNG79hSJXyHYDPOKNzB6nfthTgEKaqwnpubY9QBmGNb3 9OK85+yGnu51XaBiJkGrOzex5M6B1KmCovwcaXSWJ4kI8n2ItY4iVUl4fCMhEtJO8O6r0M nkLTBJmNNsn/3hRTvOgFNeVYj59NzGBS9MsuICPhYC9qB0JLEPDw/XZuIXNxyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1776411351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sZFa0Y6SNH7feOYzK068DAaPycmuuvoLtoILesXaXIs=; b=W6mziUDblUsuJWbUr81pUGH5B3dd5ZLiCCX9iIUPTeScaqldXtzsSrt/cGWhdSY8KqEgov KeiDdTZ1S7f9jfEitG2dbZBKVdv8ENvpwq3o2jPVWWWBApXUlwGbs9Gtyk0RcIPTNnut+F 1q+ZoBtQ+DM/kfOH7w4xI98jszighe9nxAM4Yt6HckYktJOe1on6HUHkcrg8gnUCLmoLai YZrapebMRXp/nakF1aTVL+P3aoiM/bkj1Eg7aGKONZsRHAkM+aLNF//Hr5FmiF/B+FpooC gGoIc26hNUIt+Aesf3JPMdx0HlcxAC6+AvOLapZi5Mcbsnn9grhupRnqY9pl/A== ARC-Authentication-Results: i=1; rspamd-7d86dcc447-npfvn; auth=pass smtp.auth=hostingeremail smtp.mailfrom=chester.a.unal@arinc9.com X-Sender-Id: hostingeremail|x-authuser|chester.a.unal@arinc9.com X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|chester.a.unal@arinc9.com X-MailChannels-Auth-Id: hostingeremail X-Inform-Slimy: 41d77b480404f0d9_1776411351723_2444533645 X-MC-Loop-Signature: 1776411351723:3074567578 X-MC-Ingress-Time: 1776411351723 Received: from de-fra-smtpout6.hostinger.io (de-fra-smtpout6.hostinger.io [148.222.55.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.102.173.237 (trex/7.1.5); Fri, 17 Apr 2026 07:35:51 +0000 Received: from ehlo.thunderbird.net (188-125-220-177.ptr188.nosmadeira.net [188.125.220.177]) (Authenticated sender: chester.a.unal@arinc9.com) by smtp.hostinger.com (smtp.hostinger.com) with ESMTPSA id 4fxmrf1kvbz3wbs; Fri, 17 Apr 2026 07:35:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arinc9.com; s=hostingermail-a; t=1776411346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sZFa0Y6SNH7feOYzK068DAaPycmuuvoLtoILesXaXIs=; b=XGQ818jgpQF9iqR/beBmkyF9WPzcyfS5cxybvBAN/xMIyUhWjaayDqcTSjN7Ljy+Us8ipX iil2jK79/jf7kXnJFQkkU0PR3PftpGUnaxyIC5mgYhWt+B20ZMLZ3pwNFRAYCE7j2xiBqx RAkVX6/cu+ZBKJabkMx9BoKf6PNeIMX4cYeLfa0bnVTjekBY3EmEdpkH4JjbJdA6vh4Npl 2e3b0rA5u+eNZiGpfT+z3i4S/b7xOC9ZtIfCXVp5ji0DH5DIEcidaylM2QowPW8FWCB0Ci pGRyUxXxkyiRxEqJlVHWiuUPqD279LruHQ06Choi4XcRn0lEkhyxWD6EHsPNlA== From: "Chester A. Unal" To: Daniel Golle , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , Russell King , Christian Marangi , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org CC: Frank Wunderlich , John Crispin Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_net=5D_net=3A_dsa=3A_mt7530=3A_fix_?= =?US-ASCII?Q?=2Eget=5Fstats64_sleeping_in_atomic_context?= User-Agent: Thunderbird for Android In-Reply-To: <79dc0ec5b6be698b14cb66339d6f63033ca2934a.1776397542.git.daniel@makrotopia.org> References: <79dc0ec5b6be698b14cb66339d6f63033ca2934a.1776397542.git.daniel@makrotopia.org> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Fri, 17 Apr 2026 07:35:46 +0000 (UTC) X-CM-Envelope: MS4xfGMnf4xyOlqFiRWYPA7TjCq6fCjtOr83QCRHuakxWqjqJwYwN6buyRH81bL23RSsr91fdHIOrfSjLmrK7Ol1NauHM6b3Zs9t5MxTSk8z23WCRZ8oWOFD 3uTgX5R+ddPKZ4JC25csEc5ZsC9zLPUNY+1YwKSQJbvvWE+4keGwIIfkg3dKtawMm6MoGvebUjz4bCYUzePzaEELTFrOXHmYQNPY5h1dAFcPQpkGIfslaS+X XnbWog820YKIfl4aBu8AfepTFF6a6w9ZrDu4kkd4/RUPr8vSK6p0WBD8OpdC3LzaQP6N9POCPQKlG3DV1d5gG2ppmIhyu0y9HnK8ZcrMMhsjd9yBzIFw9S/F 5db+aYm3DKzjREHtclLjoLjdOgGXkuQHIoe8sHdShqGogVuoDXKBkRkAYh+axsNpOSqdkt7aCW8AWzu3RL8opJ4hCkAYZUs3KgfXmW6lRmdQqjoyIP/kxXLC KsVBc342cmx2eH680j6qPXMtnggUya22vSccCuQNhnznCwYCUcABcRJcc6ThsmOsRS76gtu1+zAGyB3dYj7WQ5gF0IiL/gq/kdjg/QWK/VGmNfbdn07k/PUJ Y9ZH77LjBmCGgWP1K2RsqVarQrcVSVqOsdsMbggPlQacKnfN4pE6Ni8IBSOjNQvfV7GfR0XpMZ89BwxiopcmSc/wTRFwY4grXIzxGSVcFOpw9M/s9hhhPsWq iBmr76jcr0Gh7XIxax18HRDNkFqpHl5SvjbXVcsRpChsevnVbHomk00jKoVjjZnp7I8ZcdNXfFg= X-CM-Analysis: v=2.4 cv=etGNzZpX c=1 sm=1 tr=0 ts=69e1e2d2 a=KoLBVwjZwhb06KCzuzBB7w==:117 a=KoLBVwjZwhb06KCzuzBB7w==:17 a=IkcTkHD0fZMA:10 a=puQWGBksFvoA:10 a=VT4XjZGOAAAA:8 a=GvHEsTVZAAAA:8 a=zaLEu0xVIz8BohAw39kA:9 a=QEXdDO2ut3YA:10 a=6CpsfURP9XNmmWg3j1mJ:22 a=aajZ2D0djhd3YR65f-bR:22 X-AuthUser: chester.a.unal@arinc9.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260417_003601_035687_F7495F2D X-CRM114-Status: UNSURE ( 4.09 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 17 April 2026 04:55:57 WEST, Daniel Golle wrot= e: >The =2Eget_stats64 callback runs in atomic context, but on >MDIO-connected switches every register read acquires the MDIO bus >mutex, which can sleep: >[ 12=2E645973] BUG: sleeping function called from invalid context at ke= rnel/locking/mutex=2Ec:609 >[ 12=2E654442] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 7= 59, name: grep >[ 12=2E663377] preempt_count: 0, expected: 0 >[ 12=2E667410] RCU nest depth: 1, expected: 0 >[ 12=2E671511] INFO: lockdep is turned off=2E >[ 12=2E675441] CPU: 0 UID: 0 PID: 759 Comm: grep Tainted: G S W = 7=2E0=2E0+ #0 PREEMPT >[ 12=2E675453] Tainted: [S]=3DCPU_OUT_OF_SPEC, [W]=3DWARN >[ 12=2E675456] Hardware name: Bananapi BPI-R64 (DT) >[ 12=2E675459] Call trace: >[ 12=2E675462] show_stack+0x14/0x1c (C) >[ 12=2E675477] dump_stack_lvl+0x68/0x8c >[ 12=2E675487] dump_stack+0x14/0x1c >[ 12=2E675495] __might_resched+0x14c/0x220 >[ 12=2E675504] __might_sleep+0x44/0x80 >[ 12=2E675511] __mutex_lock+0x50/0xb10 >[ 12=2E675523] mutex_lock_nested+0x20/0x30 >[ 12=2E675532] mt7530_get_stats64+0x40/0x2ac >[ 12=2E675542] dsa_user_get_stats64+0x2c/0x40 >[ 12=2E675553] dev_get_stats+0x44/0x1e0 >[ 12=2E675564] dev_seq_printf_stats+0x24/0xe0 >[ 12=2E675575] dev_seq_show+0x14/0x3c >[ 12=2E675583] seq_read_iter+0x37c/0x480 >[ 12=2E675595] seq_read+0xd0/0xec >[ 12=2E675605] proc_reg_read+0x94/0xe4 >[ 12=2E675615] vfs_read+0x98/0x29c >[ 12=2E675625] ksys_read+0x54/0xdc >[ 12=2E675633] __arm64_sys_read+0x18/0x20 >[ 12=2E675642] invoke_syscall=2Econstprop=2E0+0x54/0xec >[ 12=2E675653] do_el0_svc+0x3c/0xb4 >[ 12=2E675662] el0_svc+0x38/0x200 >[ 12=2E675670] el0t_64_sync_handler+0x98/0xdc >[ 12=2E675679] el0t_64_sync+0x158/0x15c > >For MDIO-connected switches, poll MIB counters asynchronously using a >delayed workqueue every second and let =2Eget_stats64 return the cached >values under a per-port spinlock=2E A mod_delayed_work() call on each >read triggers an immediate refresh so counters stay responsive when >queried more frequently=2E > >MMIO-connected switches (MT7988, EN7581, AN7583) are not affected >because their regmap does not sleep, so they continue to read MIB >counters directly in =2Eget_stats64=2E > >Fixes: 88c810f35ed5 ("net: dsa: mt7530: implement =2Eget_stats64") >Signed-off-by: Daniel Golle >--- >This bug highlights a bigger problem and the actual cause: >Locking in the mt7530 driver deserves a cleanup, and refactoring >towards cleanly and directly using the regmap API=2E >I've prepared this already and am going to submit a series doing >most of that using Coccinelle semantic patches once net-next opens >again=2E Acked-by: Chester A=2E Unal Chester A=2E