[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211215120535.GZ1978@kadam>
Date: Wed, 15 Dec 2021 15:05:35 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Jan Kara <jack@...e.cz>
Cc: linux-ext4@...r.kernel.org
Subject: Re: [bug report] ext4: Set flags on quota files directly
On Wed, Dec 15, 2021 at 12:59:27PM +0100, Jan Kara wrote:
> Hello Dan!
>
> On Wed 15-12-21 14:42:31, Dan Carpenter wrote:
> > The patch 957153fce8d2: "ext4: Set flags on quota files directly"
> > from Apr 6, 2017, leads to the following Smatch static checker
> > warning:
> >
> > fs/ext4/super.c:6779 ext4_quota_on()
> > warn: missing error code here? 'IS_ERR()' failed. 'err' = '0'
> >
> > fs/ext4/super.c
> > 6761
> > 6762 lockdep_set_quota_inode(path->dentry->d_inode, I_DATA_SEM_QUOTA);
> > 6763 err = dquot_quota_on(sb, type, format_id, path);
> > 6764 if (err) {
> > 6765 lockdep_set_quota_inode(path->dentry->d_inode,
> > 6766 I_DATA_SEM_NORMAL);
> > 6767 } else {
> > 6768 struct inode *inode = d_inode(path->dentry);
> > 6769 handle_t *handle;
> > 6770
> > 6771 /*
> > 6772 * Set inode flags to prevent userspace from messing with quota
> > 6773 * files. If this fails, we return success anyway since quotas
> > 6774 * are already enabled and this is not a hard failure.
> > 6775 */
> > 6776 inode_lock(inode);
> > 6777 handle = ext4_journal_start(inode, EXT4_HT_QUOTA, 1);
> > 6778 if (IS_ERR(handle))
> > --> 6779 goto unlock_inode;
> >
> > This should set "err = PTR_ERR(handle)" right?
>
> The comment above explains it I guess. We don't want to return error if
> ext4_journal_start() fails because it is a "soft" failure we can absorb.
>
> Honza
Oh, yeah. Sorry.
regards,
dan carpenter
Powered by blists - more mailing lists