[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191213113237.GF15474@quack2.suse.cz>
Date: Fri, 13 Dec 2019 12:32:37 +0100
From: Jan Kara <jack@...e.cz>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: miaoxie@...wei.com, linux-ext4@...r.kernel.org
Subject: Re: [bug report] ext4, project: expand inode extra size if possible
On Mon 02-12-19 12:41:04, Dan Carpenter wrote:
> Hello Miao Xie,
>
> The patch c03b45b853f5: "ext4, project: expand inode extra size if
> possible" from Aug 6, 2017, leads to the following static checker
> warning:
>
> fs/ext4/inode.c:5708 ext4_expand_extra_isize()
> warn: inconsistent returns 'EXT4_I(inode)->xattr_sem'.
> Locked on : 5708
> Unlocked on: 5708
>
> fs/ext4/inode.c
> 5681 handle = ext4_journal_start(inode, EXT4_HT_INODE,
> 5682 EXT4_DATA_TRANS_BLOCKS(inode->i_sb));
> 5683 if (IS_ERR(handle)) {
> 5684 error = PTR_ERR(handle);
> 5685 brelse(iloc->bh);
> 5686 return error;
> 5687 }
> 5688
> 5689 ext4_write_lock_xattr(inode, &no_expand);
> 5690
> 5691 BUFFER_TRACE(iloc->bh, "get_write_access");
> 5692 error = ext4_journal_get_write_access(handle, iloc->bh);
> 5693 if (error) {
> 5694 brelse(iloc->bh);
> 5695 goto out_stop;
>
> Shouldn't this goto the ext4_write_unlock_xattr()?
Yes, it should AFAICT. Thanks for spotting this. Care to send a patch?
Honza
>
> 5696 }
> 5697
> 5698 error = __ext4_expand_extra_isize(inode, new_extra_isize, iloc,
> 5699 handle, &no_expand);
> 5700
> 5701 rc = ext4_mark_iloc_dirty(handle, inode, iloc);
> 5702 if (!error)
> 5703 error = rc;
> 5704
> 5705 ext4_write_unlock_xattr(inode, &no_expand);
> 5706 out_stop:
> 5707 ext4_journal_stop(handle);
> 5708 return error;
> 5709 }
>
>
> regards,
> dan carpenter
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists