mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
ocfs2: fix panic in failed foilio allocation
commit7e119cff9d
("ocfs2: convert w_pages to w_folios") and commit9a5e08652d
("ocfs2: use an array of folios instead of an array of pages") save -ENOMEM in the folio array upon allocation failure and call the folio array free code. The folio array free code expects either valid folio pointers or NULL. Finding the -ENOMEM will result in a panic. Fix by NULLing the error folio entry. Link: https://lkml.kernel.org/r/c879a52b-835c-4fa0-902b-8b2e9196dcbd@oracle.com Fixes:7e119cff9d
("ocfs2: convert w_pages to w_folios") Fixes:9a5e08652d
("ocfs2: use an array of folios instead of an array of pages") Signed-off-by: Mark Tinguely <mark.tinguely@oracle.com> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Changwei Ge <gechangwei@live.cn> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Cc: Mark Fasheh <mark@fasheh.com> Cc: Nathan Chancellor <nathan@kernel.org> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
be6e843fc5
commit
31d4cd4eb2
@ -6918,6 +6918,7 @@ static int ocfs2_grab_folios(struct inode *inode, loff_t start, loff_t end,
|
|||||||
if (IS_ERR(folios[numfolios])) {
|
if (IS_ERR(folios[numfolios])) {
|
||||||
ret = PTR_ERR(folios[numfolios]);
|
ret = PTR_ERR(folios[numfolios]);
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
|
folios[numfolios] = NULL;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user