Thread (16 messages) 16 messages, 3 authors, 2021-11-16

RE: [RFC][PATCH 4/5] shmem: Avoid segfault in shmem_read_mapping_page_gfp()

From: Roberto Sassu <roberto.sassu@huawei.com>
Date: 2021-11-12 12:56:54
Also in: linux-doc, linux-fscrypt, linux-fsdevel, linux-integrity, lkml

From: Ajay Garg [mailto:ajaygargnsit@gmail.com]
Sent: Friday, November 12, 2021 1:54 PM
Hi Roberto.

Identical patch has been floated earlier via :
https://lore.kernel.org/linux-
mm/CAMZfGtUp6dkT4OWzLhL8whqNnXAbfVw5c6AQogHzY3bbM_k2Qw@mail.
gmail.com/T/#m2189d135b9293de9b4a11362f0179c17b254d5ab
Hi Ajay

thanks, I was not aware.

Roberto

HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063
Managing Director: Li Peng, Zhong Ronghua
Thanks and Regards,
Ajay

On Fri, Nov 12, 2021 at 6:15 PM Roberto Sassu [off-list ref]
wrote:
quoted
Check the hwpoison page flag only if the page is valid in
shmem_read_mapping_page_gfp(). The PageHWPoison() macro tries to
access
quoted
the page flags and cannot work on an error pointer.

Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
---
 mm/shmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/shmem.c b/mm/shmem.c
index 23c91a8beb78..427863cbf0dc 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -4222,7 +4222,7 @@ struct page
*shmem_read_mapping_page_gfp(struct address_space *mapping,
quoted
        else
                unlock_page(page);

-       if (PageHWPoison(page))
+       if (!IS_ERR(page) && PageHWPoison(page))
                page = ERR_PTR(-EIO);

        return page;
--
2.32.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help