Re: [PATCH] mm: add stack trace when bad rss-counter state is detected
From: David Hildenbrand
Date: Wed Jul 23 2025 - 04:43:07 EST
On 23.07.25 10:05, David Hildenbrand wrote:
On 23.07.25 09:45, Xuanye Liu wrote:
在 2025/7/23 15:31, Kees Cook 写道:
On Wed, Jul 23, 2025 at 03:23:49PM +0800, Xuanye Liu wrote:
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.
Why not just convert the pr_alert to a WARN?
Good idea! I'll gather more feedback from others and then update to v2.
Makes sense to me.
After discussion this with Lorenzo off-list, isn't the stack completely
misleading/useless in that case?
Whatever caused the RSS counter mismatch (e.g., unmapped the wrong
pages, missed to unmap pages) quite possibly happened in different
context, way way earlier.
Why would you think the stack trace would be of any value when
destroying an MM (__mmdrop)?
Having that said, I really hate these "pr_*("BUG: ...") with passion.
Probably we'd want to invoke the panic_on_warn machinery, because
something unexpected happened.
--
Cheers,
David / dhildenb