projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
26770a7
)
ext4: fix error pointer dereference in ext4_mb_load_buddy_gfp()
author
Dan Carpenter
<dan.carpenter@linaro.org>
Fri, 10 May 2024 15:22:53 +0000
(18:22 +0300)
committer
Theodore Ts'o
<tytso@mit.edu>
Fri, 17 May 2024 15:24:38 +0000
(11:24 -0400)
This code calls folio_put() on an error pointer which will lead to a
crash. Check for both error pointers and NULL pointers before calling
folio_put().
Fixes:
5eea586b47f0
("ext4: convert bd_buddy_page to bd_buddy_folio")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link:
https://lore.kernel.org/r/eaafa1d9-a61c-4af4-9f97-d3ad72c60200@moroto.mountain
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/mballoc.c
patch
|
blob
|
blame
|
history
diff --git
a/fs/ext4/mballoc.c
b/fs/ext4/mballoc.c
index 648989c125f2fefe98419f7528a92e5e3cce5c69..9dda9cd68ab2f5daf595957e4248e97229ec3ab8 100644
(file)
--- a/
fs/ext4/mballoc.c
+++ b/
fs/ext4/mballoc.c
@@
-1717,7
+1717,7
@@
ext4_mb_load_buddy_gfp(struct super_block *sb, ext4_group_t group,
return 0;
err:
- if (
folio
)
+ if (
!IS_ERR_OR_NULL(folio)
)
folio_put(folio);
if (e4b->bd_bitmap_folio)
folio_put(e4b->bd_bitmap_folio);