[PATCH] ext4: missing !bh check in ext4_xattr_inode_write()

From: Vasily Averin
Date: Sun Nov 04 2018 - 12:29:45 EST


ext4_getblk() called with map_flags=0 can return NULL,
it can lead to oops on bh dereferemce

Fixes e50e5129f384 ("ext4: xattr-in-inode support")
Cc: stable@xxxxxxxxxx # 4.13

Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx>
---
fs/ext4/xattr.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 0b9688683526..6dc6c70828f0 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1384,6 +1384,8 @@ static int ext4_xattr_inode_write(handle_t *handle, struct inode *ea_inode,
bh = ext4_getblk(handle, ea_inode, block, 0);
if (IS_ERR(bh))
return PTR_ERR(bh);
+ if (!bh)
+ return -ENOMEM;
ret = ext4_journal_get_write_access(handle, bh);
if (ret)
goto out;
--
2.17.1