diff options
author | Francesco Ruggeri <fruggeri@aristanetworks.com> | 2012-09-13 15:03:37 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-02 10:29:54 -0700 |
commit | 2ad98b042313307859bf2f332b95b6588ec0ba0d (patch) | |
tree | 8772277f0ac4100b5c77d5c8361f595f391c423c /sound/soc | |
parent | 125c4c2a41ac9249b54602db68b81a5ad398bbb7 (diff) |
fs/proc: fix potential unregister_sysctl_table hang
commit 6bf6104573482570f7103d3e5ddf9574db43a363 upstream.
The unregister_sysctl_table() function hangs if all references to its
ctl_table_header structure are not dropped.
This can happen sometimes because of a leak in proc_sys_lookup():
proc_sys_lookup() gets a reference to the table via lookup_entry(), but
it does not release it when a subsequent call to sysctl_follow_link()
fails.
This patch fixes this leak by making sure the reference is always
dropped on return.
See also commit 076c3eed2c31 ("sysctl: Rewrite proc_sys_lookup
introducing find_entry and lookup_entry") which reorganized this code in
3.4.
Tested in Linux 3.4.4.
Signed-off-by: Francesco Ruggeri <fruggeri@aristanetworks.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/soc')
0 files changed, 0 insertions, 0 deletions