From nobody Fri Dec 19 20:32:36 2025 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 8AE0E23535B; Tue, 15 Apr 2025 18:50:22 +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=1744743022; cv=none; b=SpBphx64xNkNAsyPCZx36xX/aIG1wQ6qCazc3DvYHvMhz4Cy0MMLk3Vmp4WmssdITF6/CQgcSdv49+ItvBI3wSsQ1RL1/+RfouGkYo43wlWIhnzP1cIxR6Lf+yb/ifRrKf6RvsVIwn/ZCG2/SpvOQP9nPsdNNWSTzsdfwCWIOVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744743022; c=relaxed/simple; bh=MA1ST7Czc/ip+INtw6W9MrUsjUJdfeZf5VeF8KgVYZs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dMgpzwkMUnINk9s9U8JWYxZy3XpLWWHpl0zKhqVlb9QMc5NsdoDeQ9wQUEP+EcjHwL1k+jh5ES1KPIPcO+p9W76U9DqTdtYHCKADBRSZbApRrpK059/2Lh9qRAidBR4bc6xUwOPSmNPVy5kXkuA1FGUJYJqbNY3ob7lNRXkCz1Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZOidF/Xe; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZOidF/Xe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 482B4C4AF0B; Tue, 15 Apr 2025 18:50:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744743022; bh=MA1ST7Czc/ip+INtw6W9MrUsjUJdfeZf5VeF8KgVYZs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZOidF/Xe9PeYOJyXNA41pNGmo5Axt818oI7n06DAB7iHbAfyHuZ7HqysTrNE6pFJv DZX7UDBuRIJwoYA1dcp95dS+EhnohZ9QLx4KtcsQ2857bKYqPq3WQPiLegVf2Z2RpM Gsr3nAaE1eIe0l7fmkh8o1sN5Z5FXXUDQu+Y8lH6npkyp9UFKOXEkLIzT0+yuQdP+9 8EJDEM+Ur8ew9mroCVRffrbZOmxBXTS1pa7GJgJe5ocyZojCYIlHCnKKieKEYKMKEa SNXdFTMK3GAwFQ0zla9QThKO6Z4zEJ9zopn1a+k8/6x2GE/ZHKNHZLgdHrRxRkXQ/R gfIpmwRSWB7hg== From: Jeff Layton Date: Tue, 15 Apr 2025 14:49:40 -0400 Subject: [PATCH v2 2/8] ref_tracker: add a top level debugfs directory for ref_tracker 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" Content-Transfer-Encoding: quoted-printable Message-Id: <20250415-reftrack-dbgfs-v2-2-b18c4abd122f@kernel.org> References: <20250415-reftrack-dbgfs-v2-0-b18c4abd122f@kernel.org> In-Reply-To: <20250415-reftrack-dbgfs-v2-0-b18c4abd122f@kernel.org> To: Andrew Morton , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: Kuniyuki Iwashima , Qasim Ijaz , Nathan Chancellor , Andrew Lunn , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1344; i=jlayton@kernel.org; h=from:subject:message-id; bh=MA1ST7Czc/ip+INtw6W9MrUsjUJdfeZf5VeF8KgVYZs=; b=kA0DAAgBAA5oQRlWghUByyZiAGf+qmijpV0CAEYrKi85x/9Xgbjlj6jNdJG86QVE4IlVe5hDY IkCMwQAAQgAHRYhBEvA17JEcbKhhOr10wAOaEEZVoIVBQJn/qpoAAoJEAAOaEEZVoIVM5cP/iHm Pc9pt/oz/8sjlXG5z4iKg13sWl4DtkI+Oq4YTjbKzCFY7D3ihhvUwHrvVFgHKr6aO4PMWh1qf5W 4iGq9NEQwvk8p8p8Ff6RonkQg7Z2xNOHO98UOITknOo6fHasEoxy3ZOyo36BA9Oah07g4umoDbA gq5acV5rD5NtL+8zOaALpvo6tL6O0ONvzOXz5tvo5xm9FJprRwxLhpXCNNeWiv890NXJQqDa9L+ qu26PTUISWxv7tv+57xmt/xTw3ZOFw2+OjtCQwjER3MP3fthHv2eBsqM6a7ugNPaQtzkXibsGGZ ZBV3byzqkocQH0FuJ/Yp/uzIWBnQn4jNy+FkcqR16KBtR4is+enIFFTDt7ZY01En9rxQqVQxdKu VotO4wP5kupzN9k7lPrPxRToZbfZR9wEgW/iYGnIQRPVrkMU8+5iQ/9egsBNFdHio3OS0zrRHnY GhgGa0q5StzenKYcV6Sxn7nyitYc1vu6gxTt7HFj6oGxKEkH1QVUFyTbiF6lVS6XTOyX2gYTEqr zhQ8O98xcEDxvslbHlYx6h8OyIr/AMZbfmHvgslI6A0wxinxsL1xj39qnboQ95ppqDSkhrbm6Ki c4oW1WNoQco26Vxo6C5/CJWq/luKnMGAOXnle1f4cBeJHXt+vo8gwbVocCKKR/+aXNZd/cA4Jwb USiSr X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Add a new "ref_tracker" directory in debugfs. Each individual refcount tracker can register files under there to display info about currently-held references. Signed-off-by: Jeff Layton --- lib/ref_tracker.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/ref_tracker.c b/lib/ref_tracker.c index de71439e12a3bab6456910986fa611dfbdd97980..a66cde325920780cfe7529ea9d8= 27d0ee943318d 100644 --- a/lib/ref_tracker.c +++ b/lib/ref_tracker.c @@ -12,6 +12,8 @@ #define REF_TRACKER_STACK_ENTRIES 16 #define STACK_BUF_SIZE 1024 =20 +static struct dentry *ref_tracker_debug_dir =3D (struct dentry *)-ENOENT; + struct ref_tracker { struct list_head head; /* anchor into dir->list or dir->quarantine */ bool dead; @@ -273,3 +275,17 @@ int ref_tracker_free(struct ref_tracker_dir *dir, return 0; } EXPORT_SYMBOL_GPL(ref_tracker_free); + +#ifdef CONFIG_DEBUG_FS +#include + +static int __init ref_tracker_debugfs_init(void) +{ + ref_tracker_debug_dir =3D debugfs_create_dir("ref_tracker", NULL); + if (IS_ERR(ref_tracker_debug_dir)) + pr_warn("ref_tracker: unable to create debugfs ref_tracker directory: %p= e\n", + ref_tracker_debug_dir); + return 0; +} +late_initcall(ref_tracker_debugfs_init); +#endif /* CONFIG_DEBUG_FS */ --=20 2.49.0