diff options
author | 2016-07-04 12:26:05 +0200 | |
---|---|---|
committer | 2016-07-04 12:26:05 +0200 | |
commit | 8658be133baa92c06b6d832a436d437deb2e2a22 (patch) | |
tree | 8f798f4aae5892533831487e4838a85b95414a0f /fs/debugfs/file.c | |
parent | Merge tag 'irqchip-core-4.8-2' of git://git.infradead.org/users/jcooper/linux into irq/core (diff) | |
parent | genirq: Add a helper to spread an affinity mask for MSI/MSI-X vectors (diff) | |
download | wireguard-linux-8658be133baa92c06b6d832a436d437deb2e2a22.tar.xz wireguard-linux-8658be133baa92c06b6d832a436d437deb2e2a22.zip |
Merge branch 'irq/for-block' into irq/core
Pull the irq affinity managing code which is in a seperate branch for block
developers to pull.
Diffstat (limited to '')
-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) r = real_fops->open(inode, filp); out: - fops_put(real_fops); debugfs_use_file_finish(srcu_idx); return r; } @@ -262,8 +261,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp) if (real_fops->open) { r = real_fops->open(inode, filp); - - if (filp->f_op != proxy_fops) { + if (r) { + replace_fops(filp, d_inode(dentry)->i_fop); + goto free_proxy; + } else if (filp->f_op != proxy_fops) { /* No protection against file removal anymore. */ WARN(1, "debugfs file owner replaced proxy fops: %pd", dentry); |