diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-06-20 11:25:44 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-06-20 11:25:44 -0400 |
commit | af52739b922f656eb1f39016fabaabe4baeda2e2 (patch) | |
tree | 79a7aa810d0493cd0cf4adebac26d37f12e8b545 /fs/debugfs/file.c | |
parent | 25ed6a5e97809129a1bc852b6b5c7d03baa112c4 (diff) | |
parent | 33688abb2802ff3a230bd2441f765477b94cc89e (diff) |
Merge 4.7-rc4 into staging-next
We want the fixes in here, and we can resolve a merge issue in
drivers/iio/industrialio-trigger.c
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/debugfs/file.c')
-rw-r--r-- | fs/debugfs/file.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index 9c1c9a01b7e5..592059f88e04 100644 --- a/fs/debugfs/file.c +++ b/fs/debugfs/file.c | |||
@@ -127,7 +127,6 @@ static int open_proxy_open(struct inode *inode, struct file *filp) | |||
127 | r = real_fops->open(inode, filp); | 127 | r = real_fops->open(inode, filp); |
128 | 128 | ||
129 | out: | 129 | out: |
130 | fops_put(real_fops); | ||
131 | debugfs_use_file_finish(srcu_idx); | 130 | debugfs_use_file_finish(srcu_idx); |
132 | return r; | 131 | return r; |
133 | } | 132 | } |
@@ -262,8 +261,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp) | |||
262 | 261 | ||
263 | if (real_fops->open) { | 262 | if (real_fops->open) { |
264 | r = real_fops->open(inode, filp); | 263 | r = real_fops->open(inode, filp); |
265 | 264 | if (r) { | |
266 | if (filp->f_op != proxy_fops) { | 265 | replace_fops(filp, d_inode(dentry)->i_fop); |
266 | goto free_proxy; | ||
267 | } else if (filp->f_op != proxy_fops) { | ||
267 | /* No protection against file removal anymore. */ | 268 | /* No protection against file removal anymore. */ |
268 | WARN(1, "debugfs file owner replaced proxy fops: %pd", | 269 | WARN(1, "debugfs file owner replaced proxy fops: %pd", |
269 | dentry); | 270 | dentry); |