linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm/swapfile: unuse_pte can map random data if swap read fails
@ 2022-04-01  7:29 Miaohe Lin
  2022-04-04 13:37 ` David Hildenbrand
  2022-04-04 22:53 ` Andrew Morton
  0 siblings, 2 replies; 6+ messages in thread
From: Miaohe Lin @ 2022-04-01  7:29 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, linux-kernel, linmiaohe

There is a bug in unuse_pte(): when swap page happens to be unreadable,
page filled with random data is mapped into user address space. The fix
is to check for PageUptodate and fail swapoff in case of error.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 mm/swapfile.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/mm/swapfile.c b/mm/swapfile.c
index 63c61f8b2611..e72a35de7a0f 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -1795,6 +1795,10 @@ static int unuse_pte(struct vm_area_struct *vma, pmd_t *pmd,
 		ret = 0;
 		goto out;
 	}
+	if (unlikely(!PageUptodate(page))) {
+		ret = -EIO;
+		goto out;
+	}
 
 	dec_mm_counter(vma->vm_mm, MM_SWAPENTS);
 	inc_mm_counter(vma->vm_mm, MM_ANONPAGES);
-- 
2.23.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-04-06  8:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-01  7:29 [PATCH] mm/swapfile: unuse_pte can map random data if swap read fails Miaohe Lin
2022-04-04 13:37 ` David Hildenbrand
2022-04-04 14:11   ` Matthew Wilcox
2022-04-06  8:47     ` Miaohe Lin
2022-04-04 22:53 ` Andrew Morton
2022-04-06  8:44   ` Miaohe Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).