On Tue, 23 Feb, at 05:07:10PM, Tobias Klauser wrote: > After commit ed8b0de5a33d ("efi: Make efivarfs entries immutable by > default"), inode will always be NULL in the error check before iput(), > thus remove the check and the call to iput() alltogether. Also directly > fold the error handling code into the only place it is needed, which > makes the code a bit smaller. > > Found by the Coverity scanner (CID 1353443). > > Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> > --- > fs/efivarfs/inode.c | 15 +++++---------- > 1 file changed, 5 insertions(+), 10 deletions(-) > > diff --git a/fs/efivarfs/inode.c b/fs/efivarfs/inode.c > index e2ab6d0497f2..43321c9cd71b 100644 > --- a/fs/efivarfs/inode.c > +++ b/fs/efivarfs/inode.c > @@ -106,7 +106,7 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, > { > struct inode *inode = NULL; > struct efivar_entry *var; > - int namelen, i = 0, err = 0; > + int namelen, i = 0; > bool is_removable = false; > > if (!efivarfs_valid_name(dentry->d_name.name, dentry->d_name.len)) > @@ -128,8 +128,8 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, > > inode = efivarfs_get_inode(dir->i_sb, dir, mode, 0, is_removable); > if (!inode) { > - err = -ENOMEM; > - goto out; > + kfree(var); > + return -ENOMEM; > } > > for (i = 0; i < namelen; i++) > @@ -142,13 +142,8 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, > efivar_entry_add(var, &efivarfs_list); > d_instantiate(dentry, inode); > dget(dentry); > -out: > - if (err) { > - kfree(var); > - if (inode) > - iput(inode); > - } > - return err; > + > + return 0; > } > > static int efivarfs_unlink(struct inode *dir, struct dentry *dentry) Looks good to me. Thanks, applied! -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html