From 2673354abea4cd8c742b65b9e44becd930c01fb4 Mon Sep 17 00:00:00 2001 From: Alexander Winkowski Date: Fri, 12 Jan 2024 04:50:54 +0000 Subject: [PATCH] Revert "ANDROID: mm/filemap: Fix missing put_page() for speculative page fault" This reverts commit 290d702383e50bf509c89a7aeff60f2525c6cc86. Change-Id: I6d083e1e4a70a352cdf8162e72c1f3bfb1cc0b64 Signed-off-by: Alexander Winkowski --- mm/filemap.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 67419f9a2a97..623550f9a9d3 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2663,14 +2663,11 @@ vm_fault_t filemap_fault(struct vm_fault *vmf) if (vmf->flags & FAULT_FLAG_SPECULATIVE) { page = find_get_page(mapping, offset); - if (unlikely(!page)) + if (unlikely(!page) || unlikely(PageReadahead(page))) return VM_FAULT_RETRY; - if (unlikely(PageReadahead(page))) - goto page_put; - if (!trylock_page(page)) - goto page_put; + return VM_FAULT_RETRY; if (unlikely(compound_head(page)->mapping != mapping)) goto page_unlock; @@ -2702,8 +2699,6 @@ vm_fault_t filemap_fault(struct vm_fault *vmf) return VM_FAULT_LOCKED; page_unlock: unlock_page(page); -page_put: - put_page(page); return VM_FAULT_RETRY; }