diff options
author | Matthew Wilcox <willy@infradead.org> | 2023-05-06 17:04:14 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2023-05-06 10:08:59 -0700 |
commit | 38a55db9877cae9aa9cc53bb0464b7434fb03e75 (patch) | |
tree | 7b6d36572ba14afcc0b72424c50b69f0f2f8b4b6 | |
parent | dd9e11d6477a52ede9ebe575c83285e79e823889 (diff) | |
download | lwn-38a55db9877cae9aa9cc53bb0464b7434fb03e75.tar.gz lwn-38a55db9877cae9aa9cc53bb0464b7434fb03e75.zip |
filemap: Handle error return from __filemap_get_folio()
Smatch reports that filemap_fault() was missed in the conversion of
__filemap_get_folio() error returns from NULL to ERR_PTR.
Fixes: 66dabbb65d67 ("mm: return an ERR_PTR from __filemap_get_folio")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Reported-by: syzbot+48011b86c8ea329af1b9@syzkaller.appspotmail.com
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/filemap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index a34abfe8c654..b4c9bd368b7e 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3378,7 +3378,7 @@ out_retry: * re-find the vma and come back and find our hopefully still populated * page. */ - if (folio) + if (!IS_ERR(folio)) folio_put(folio); if (mapping_locked) filemap_invalidate_unlock_shared(mapping); |