git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ext4: missing !bh check in ext4_xattr_inode_write()
[sfrench/cifs-2.6.git]
/
fs
/
ext4
/
xattr.c
diff --git
a/fs/ext4/xattr.c
b/fs/ext4/xattr.c
index 0b968868352626fd8aed6066eae9c43a0c1040e6..7643d52c776c61188ca6ac4a7ddd18d303c96e47 100644
(file)
--- a/
fs/ext4/xattr.c
+++ b/
fs/ext4/xattr.c
@@
-1384,6
+1384,12
@@
retry:
bh = ext4_getblk(handle, ea_inode, block, 0);
if (IS_ERR(bh))
return PTR_ERR(bh);
bh = ext4_getblk(handle, ea_inode, block, 0);
if (IS_ERR(bh))
return PTR_ERR(bh);
+ if (!bh) {
+ WARN_ON_ONCE(1);
+ EXT4_ERROR_INODE(ea_inode,
+ "ext4_getblk() return bh = NULL");
+ return -EFSCORRUPTED;
+ }
ret = ext4_journal_get_write_access(handle, bh);
if (ret)
goto out;
ret = ext4_journal_get_write_access(handle, bh);
if (ret)
goto out;