ext4: ext4_xattr_ibody_set() error ignored in ext4_expand_extra_isize_ea()
PATCH 1/1 ext4: ext4_xattr_ibody_set() error ignored in ext4_expand_extra_isize_ea()
The error handling was missing.
Signed-off-by Roel Kluin <[email protected]>
---
Is this needed?
fs/ext4/xattr.c +2 -0
@@ -1302,6 +1302,8 @@ retry:/* Remove the chosen entry from the inode */ error =ext4_xattr_ibody_set (handle, inode, &i, is); +if (error) + goto cleanup; entry =IFIRST (header);if (entry_size +EXT4_XATTR_SIZE (size) >= new_extra_isize)
[email protected]
maintainerQuoted 5 lines · Roel Kluin
The error handling was missing.
Signed-off-by Roel Kluin <[email protected]>---
Is this needed?
Yep, it's added, thanks. I'm not entirely right the error handling is completely correct in this function; in particular, if we fail after this point in the function, and we've already changed the status of EXT4_STATE_XATTR flag, but then we fail due to some error (maybe an I/O error), it's not clear the cleanup section is properly unwinding all of the side effects made so far in this function.
Still, adding the error check clearly makes the code better than it was before, so I've added it to the ext4 patch queue.
- Ted