[PATCH] procfs: missing rcu unlock in proc_reg_release

From: Sasha Levin
Date: Tue Mar 05 2013 - 08:55:50 EST


Commit "procfs: improve scaling in proc" forgot to unlock rcu read lock
if the proc file didn't have ops struct.

Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
---
fs/proc/inode.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index 6cccc4d..d9292ac 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -400,6 +400,7 @@ static int proc_reg_release(struct inode *inode, struct file *file)
rcu_read_lock();
fops = rcu_dereference(pde->proc_fops);
if (!fops) {
+ rcu_read_unlock();
/*
* Can't simply exit, __fput() will think that everything is OK,
* and move on to freeing struct file. remove_proc_entry() will
--
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/