Ver Fonte

ovl: clean up error handling in ovl_get_tmpfile()

If security_inode_copy_up() fails, it should not set new_creds, so no need
for the cleanup (which would've Oops-ed anyway, due to old_creds being
NULL).

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Miklos Szeredi há 6 anos atrás
pai
commit
1f244dc521
1 ficheiros alterados com 2 adições e 3 exclusões
  1. 2 3
      fs/overlayfs/copy_up.c

+ 2 - 3
fs/overlayfs/copy_up.c

@@ -477,9 +477,8 @@ static struct dentry *ovl_get_tmpfile(struct ovl_copy_up_ctx *c)
 	};
 
 	err = security_inode_copy_up(c->dentry, &new_creds);
-	temp = ERR_PTR(err);
 	if (err < 0)
-		goto out;
+		return ERR_PTR(err);
 
 	if (new_creds)
 		old_creds = override_creds(new_creds);
@@ -488,7 +487,7 @@ static struct dentry *ovl_get_tmpfile(struct ovl_copy_up_ctx *c)
 		temp = ovl_do_tmpfile(c->workdir, c->stat.mode);
 	else
 		temp = ovl_create_temp(c->workdir, &cattr);
-out:
+
 	if (new_creds) {
 		revert_creds(old_creds);
 		put_cred(new_creds);