Re: [PATCH v3 4/4] ext4: fix inode leak in 'ext4_xattr_inode_create()'

From: Theodore Ts'o
Date: Fri Dec 09 2022 - 00:39:34 EST


On Thu, Dec 08, 2022 at 10:32:33AM +0800, Ye Bin wrote:
> From: Ye Bin <yebin10@xxxxxxxxxx>
>
> There is issue as follows when do setxattr with inject fault:
> [localhost]#fsck.ext4 -fn /dev/sda
> e2fsck 1.46.6-rc1 (12-Sep-2022)
> Pass 1: Checking inodes, blocks, and sizes
> Pass 2: Checking directory structure
> Pass 3: Checking directory connectivity
> Pass 4: Checking reference counts
> Unattached zero-length inode 15. Clear? no
>
> Unattached inode 15
> Connect to /lost+found? no
>
> Pass 5: Checking group summary information
>
> /dev/sda: ********** WARNING: Filesystem still has errors **********
>
> /dev/sda: 15/655360 files (0.0% non-contiguous), 66755/2621440 blocks
>
> This occurs in 'ext4_xattr_inode_create()'. If 'ext4_mark_inode_dirty()'
> fails, dropping i_nlink of the inode is needed. Or will lead to inode leak.
>
> Signed-off-by: Ye Bin <yebin10@xxxxxxxxxx>
> Reviewed-by: Jan Kara <jack@xxxxxxx>

Applied, thanks.

- Ted