When page table locked is held, the page can't be freed from under us. So use get_page() to get the extra page reference to simplify the code. No functional change intended. Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> --- mm/memcontrol.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 93e3cc581b51..4ca382efb1ca 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5670,8 +5670,9 @@ static struct page *mc_handle_swap_pte(struct vm_area_struct *vma, */ if (is_device_private_entry(ent)) { page = pfn_swap_entry_to_page(ent); - if (!get_page_unless_zero(page)) - return NULL; + /* Get a page reference while we know the page can't be freed. */ + get_page(page); + return page; } -- 2.33.0