From 1f244dc5213960f76e7463bbb5719c331045bbc9 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 26 Oct 2018 23:34:39 +0200 Subject: [PATCH] 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 --- fs/overlayfs/copy_up.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c index 1cc797a08a5b..989782a0c0c9 100644 --- a/fs/overlayfs/copy_up.c +++ b/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);