From nobody Mon Oct 6 08:32:41 2025 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.4]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D1F4C273806 for ; Wed, 23 Jul 2025 07:25:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753255533; cv=none; b=Es/F7pFym57xd6U0eR1xym4/FRPY+Wpcl8tRI/e0h9FS7Z/alNrVBGvjwtpWWF/wZZFWf0UCCesxlEWkwIQDxIKmHPsY+Bjc3p0zQig4l3hfd9vmM9OG8GZJse6CofsyM1YU6l7n2ECnG3k4uEFU27UUZo4ls3NKa+z6sCMk8Jw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753255533; c=relaxed/simple; bh=XSbt/fko+eRy/SpzuCHHn3LXpeuJUuVRZQveFYbkPqM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=KNJGBV2ojDbW7mmPEGrgt8s6ESFrgCxfxny3YwGc8Mh8IUGZHG8m6W2q4GymmTiCMuBaKaJAQpzEoWA/TK6hkXUnkfZ/OLTcP09/QvYcoWcDJ/3fPlRtmnFuVsyVrprZODQpS2Xh6bACUGzwSWXUVLLKW3Gkn4r6/GexxK+Tm9U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=QdigMd9K; arc=none smtp.client-ip=117.135.210.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="QdigMd9K" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=al AlhSGmTebtA+3jJl/XuXa6tRwN7fz4ebxMMcEAbo0=; b=QdigMd9KgZnjRkjc05 6F5nGWWzm+u8YBMd/RB8iSmjZFZ9/fUzMwqydf9R6yRR7QjE9GQm+HF6i8RI0FTz l4bKRD9rPgVPZk7Vn3JWx7SNvRXHmiRxTIcn2Wr1iLDSZ1qVMyrtdscz3c5FUw9K r3QpqzLMSswaj+NqcFCLBh4y8= Received: from ly-pc.. (unknown []) by gzga-smtp-mtada-g1-1 (Coremail) with SMTP id _____wDH_5sKjoBoILM2Gw--.26993S4; Wed, 23 Jul 2025 15:24:03 +0800 (CST) From: Xuanye Liu To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Kees Cook , Andrew Morton , David Hildenbrand Cc: Xuanye Liu , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm: add stack trace when bad rss-counter state is detected Date: Wed, 23 Jul 2025 15:23:49 +0800 Message-ID: <20250723072350.1742071-1-liuqiye2025@163.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: _____wDH_5sKjoBoILM2Gw--.26993S4 X-Coremail-Antispam: 1Uf129KBjvdXoWruF1UGF4kZFy8GF1fCr47twb_yoWDtFc_Ja ykX3WDWr45t3Z8tasIyF13Xry0gwn8XFyFvw4IgFZ3ZF9rAr90krykJF1kAwn3XFZ2va4f AF95Xw12kw17AjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7xRi66wtUUUUU== X-CM-SenderInfo: 5olx1xd1hsijqv6rljoofrz/1tbibg6TUGiAiYZxyAAAs9 Content-Type: text/plain; charset="utf-8" The check_mm() function verifies the correctness of rss counters in struct mm_struct. Currently, it only prints an alert when a bad rss-counter state is detected, but lacks sufficient context for debugging. This patch adds a dump_stack() call to provide a stack trace when the rss-counter state is invalid. This helps developers identify where the corrupted mm_struct is being checked and trace the underlying cause of the inconsistency. Signed-off-by: Xuanye Liu --- kernel/fork.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/fork.c b/kernel/fork.c index cfe2f1df5f27..d38f1c5270ea 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -584,9 +584,11 @@ static void check_mm(struct mm_struct *mm) for (i =3D 0; i < NR_MM_COUNTERS; i++) { long x =3D percpu_counter_sum(&mm->rss_stat[i]); =20 - if (unlikely(x)) + if (unlikely(x)) { pr_alert("BUG: Bad rss-counter state mm:%p type:%s val:%ld\n", mm, resident_page_types[i], x); + dump_stack(); + } } =20 if (mm_pgtables_bytes(mm)) --=20 2.43.0