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 -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR