Message ID | 4B6AF1AF.3010008@gmail.com |
---|---|
State | Accepted, archived |
Headers | show |
On Thu, Feb 04, 2010 at 05:11:27PM +0100, Roel Kluin wrote: > The error handling was missing. > > Signed-off-by: Roel Kluin <roel.kluin@gmail.com> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index f3a2f7e..b77930c 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -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)
The error handling was missing. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> --- Is this needed? -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html