[PATCH v7 0/2] fix follow_page related issues

From: Haiyue Wang
Date: Tue Aug 23 2022 - 13:12:41 EST


v7: Drop the zone device page check for transparent page.

v6: Simplify the multiple layers of conditionals for if {}

- if (page) {
- err = !is_zone_device_page(page) ? page_to_nid(page)
- : -ENOENT;
- if (foll_flags & FOLL_GET)
- put_page(page);
- } else {
- err = -ENOENT;
- }
+ err = -ENOENT;
+ if (!page)
+ goto set_status;
+
+ if (!is_zone_device_page(page))
+ err = page_to_nid(page);
+
+ if (foll_flags & FOLL_GET)
+ put_page(page);

v5: reword the commit message for FOLL_GET with more information.

v4: add '()' for the function for readability.
add more words about the Non-LRU pages fix in commit message.

v3: Merge the fix for handling Non-LRU pages into one patch.
Drop the break_ksm zone device page check.

v2: Add the Non-LRU pages fix with two patches, so that
'mm: migration: fix the FOLL_GET' can be applied directly
on linux-5.19 stable branch.

Haiyue Wang (2):
mm: migration: fix the FOLL_GET failure on following huge page
mm: fix the handling Non-LRU pages returned by follow_page

mm/huge_memory.c | 2 +-
mm/ksm.c | 12 +++++++++---
mm/migrate.c | 23 +++++++++++++++++------
3 files changed, 27 insertions(+), 10 deletions(-)

--
2.37.2