]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop queue-4.14/mm-invalidate-hwpoison-page-cache-page-in-fault-path.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Apr 2022 13:34:02 +0000 (15:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Apr 2022 13:34:02 +0000 (15:34 +0200)
queue-4.14/mm-invalidate-hwpoison-page-cache-page-in-fault-path.patch [deleted file]
queue-4.14/series

diff --git a/queue-4.14/mm-invalidate-hwpoison-page-cache-page-in-fault-path.patch b/queue-4.14/mm-invalidate-hwpoison-page-cache-page-in-fault-path.patch
deleted file mode 100644 (file)
index e976bff..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From e53ac7374e64dede04d745ff0e70ff5048378d1f Mon Sep 17 00:00:00 2001
-From: Rik van Riel <riel@surriel.com>
-Date: Tue, 22 Mar 2022 14:44:09 -0700
-Subject: mm: invalidate hwpoison page cache page in fault path
-
-From: Rik van Riel <riel@surriel.com>
-
-commit e53ac7374e64dede04d745ff0e70ff5048378d1f upstream.
-
-Sometimes the page offlining code can leave behind a hwpoisoned clean
-page cache page.  This can lead to programs being killed over and over
-and over again as they fault in the hwpoisoned page, get killed, and
-then get re-spawned by whatever wanted to run them.
-
-This is particularly embarrassing when the page was offlined due to
-having too many corrected memory errors.  Now we are killing tasks due
-to them trying to access memory that probably isn't even corrupted.
-
-This problem can be avoided by invalidating the page from the page fault
-handler, which already has a branch for dealing with these kinds of
-pages.  With this patch we simply pretend the page fault was successful
-if the page was invalidated, return to userspace, incur another page
-fault, read in the file from disk (to a new memory page), and then
-everything works again.
-
-Link: https://lkml.kernel.org/r/20220212213740.423efcea@imladris.surriel.com
-Signed-off-by: Rik van Riel <riel@surriel.com>
-Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
-Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
-Reviewed-by: Oscar Salvador <osalvador@suse.de>
-Cc: John Hubbard <jhubbard@nvidia.com>
-Cc: Mel Gorman <mgorman@suse.de>
-Cc: Johannes Weiner <hannes@cmpxchg.org>
-Cc: Matthew Wilcox <willy@infradead.org>
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- mm/memory.c |    9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -3329,11 +3329,16 @@ static int __do_fault(struct vm_fault *v
-               return ret;
-       if (unlikely(PageHWPoison(vmf->page))) {
--              if (ret & VM_FAULT_LOCKED)
-+              vm_fault_t poisonret = VM_FAULT_HWPOISON;
-+              if (ret & VM_FAULT_LOCKED) {
-+                      /* Retry if a clean page was removed from the cache. */
-+                      if (invalidate_inode_page(vmf->page))
-+                              poisonret = 0;
-                       unlock_page(vmf->page);
-+              }
-               put_page(vmf->page);
-               vmf->page = NULL;
--              return VM_FAULT_HWPOISON;
-+              return poisonret;
-       }
-       if (unlikely(!(ret & VM_FAULT_LOCKED)))
index 9e053612954a8be126c7756fba680c5bcb44213c..7bf4a8eb01eba70d4fa4ea88f78dcb5144da23e0 100644 (file)
@@ -28,5 +28,4 @@ jffs2-fix-use-after-free-in-jffs2_clear_xattr_subsystem.patch
 jffs2-fix-memory-leak-in-jffs2_do_mount_fs.patch
 jffs2-fix-memory-leak-in-jffs2_scan_medium.patch
 mm-pages_alloc.c-don-t-create-zone_movable-beyond-the-end-of-a-node.patch
-mm-invalidate-hwpoison-page-cache-page-in-fault-path.patch
 mempolicy-mbind_range-set_policy-after-vma_merge.patch