From 7d0a1d6b86b65991d5478653c03d737df882eb07 Mon Sep 17 00:00:00 2001 From: Charan Teja Kalla Date: Wed, 24 Jul 2024 22:37:01 +0530 Subject: [PATCH] ANDROID: mm: madvise: Avoid counting swap entry references for migration entries Race between the madvise(PAGEOUT) and migration caused by page offline can make the swp_swapcount()->_swap_info_get emitting the "Bad swap file entry " message because it is trying to get the info on the migration entry. Add check if it is a migration entry. Bug: 356032508 Fixes: aee36dd53048 ("ANDROID: mm: add vendor hooks in madvise for swap entry") Change-Id: Ia209d2a0103ac506ceae8fd71f733c1dc85443a6 Signed-off-by: Charan Teja Kalla Signed-off-by: Nikhil V --- mm/madvise.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/madvise.c b/mm/madvise.c index e445135ed4c1..e1852ea44c8e 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -450,7 +450,8 @@ regular_page: if (!pte_present(ptent)) { entry = pte_to_swp_entry(ptent); - trace_android_vh_madvise_pageout_swap_entry(entry, + if (!is_migration_entry(entry)) + trace_android_vh_madvise_pageout_swap_entry(entry, swp_swapcount(entry)); continue; }