FAILED: patch "[PATCH] fs/proc: fix KPF_KSM reported for all anonymous pages" failed to apply to 6.12-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 81401cebfc1598306b0a981b5f9ee5b58c1aac52
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026072015-monkhood-mutation-c524@gregkh' --subject-prefix 'PATCH 6.12.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 81401cebfc1598306b0a981b5f9ee5b58c1aac52 Mon Sep 17 00:00:00 2001
From: Jinjiang Tu <[email protected]>
Date: Fri, 26 Jun 2026 09:32:52 +0800
Subject: [PATCH] fs/proc: fix KPF_KSM reported for all anonymous pages
Reading /proc/kpageflags for any anonymous page returns KPF_KSM set, even when KSM is not in use. As a result, tools misclassify all anonymous pages as KSM merged.
In stable_page_flags(), if the page is anonymous, then use (mapping & FOLIO_MAPPING_KSM) check to identify if the anonymous page is KSM page. However, FOLIO_MAPPING_KSM is FOLIO_MAPPING_ANON | FOLIO_MAPPING_ANON_KSM, (mapping & FOLIO_MAPPING_KSM) check returns true for all anonymous pages.
To fix it, use FOLIO_MAPPING_ANON_KSM instead.
fs/proc/page.c +1 -1
@@ -173,7 +173,7 @@ u64 stable_page_flags(const struct page *page) u |=1 <<KPF_MMAP ;if (is_anon) { u |=1 <<KPF_ANON ; -if (mapping &FOLIO_MAPPING_KSM ) +if ((mapping &FOLIO_MAPPING_FLAGS ) ==FOLIO_MAPPING_KSM ) u |=1 <<KPF_KSM ; }