diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2018-10-26 23:34:39 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2018-10-26 23:34:39 +0200 |
commit | 1f244dc5213960f76e7463bbb5719c331045bbc9 (patch) | |
tree | c75eb162cce11f7e3b717bce0cc80609dbfb11bf /fs/overlayfs | |
parent | ovl: fix error handling in ovl_verify_set_fh() (diff) | |
download | linux-1f244dc5213960f76e7463bbb5719c331045bbc9.tar.xz linux-1f244dc5213960f76e7463bbb5719c331045bbc9.zip |
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>
Diffstat (limited to 'fs/overlayfs')
-rw-r--r-- | fs/overlayfs/copy_up.c | 5 |
1 files 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); |