diff options
Diffstat (limited to 'fs/open.c')
-rw-r--r-- | fs/open.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -747,7 +747,6 @@ cleanup_all: | |||
747 | f->f_path.dentry = NULL; | 747 | f->f_path.dentry = NULL; |
748 | f->f_path.mnt = NULL; | 748 | f->f_path.mnt = NULL; |
749 | cleanup_file: | 749 | cleanup_file: |
750 | put_filp(f); | ||
751 | dput(dentry); | 750 | dput(dentry); |
752 | mntput(mnt); | 751 | mntput(mnt); |
753 | return ERR_PTR(error); | 752 | return ERR_PTR(error); |
@@ -765,6 +764,8 @@ static struct file *__dentry_open(struct dentry *dentry, struct vfsmount *mnt, | |||
765 | fput(res); | 764 | fput(res); |
766 | res = ERR_PTR(error); | 765 | res = ERR_PTR(error); |
767 | } | 766 | } |
767 | } else { | ||
768 | put_filp(f); | ||
768 | } | 769 | } |
769 | return res; | 770 | return res; |
770 | } | 771 | } |