Forbid access to poisoned pages.

TODO: Probably more fine-grained approach is needed. It shuld be a
allowed to fault-in these pages as hwpoison entries.

Not-Signed-off-by: Kirill A. Shutemov <kirill.shute...@linux.intel.com>
---
 mm/shmem.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/mm/shmem.c b/mm/shmem.c
index 7c6b6d8f6c39..d29a0c9be19c 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1832,6 +1832,13 @@ static int shmem_getpage_gfp(struct inode *inode, 
pgoff_t index,
 
        if (page)
                hindex = page->index;
+
+       if (page && PageHWPoison(page)) {
+               unlock_page(page);
+               put_page(page);
+               return -EIO;
+       }
+
        if (page && sgp == SGP_WRITE)
                mark_page_accessed(page);
 
-- 
2.26.3

Reply via email to