Commit 097189fd authored by Sergey Vlasov's avatar Sergey Vlasov Committed by Greg Kroah-Hartman

[PATCH] Fix module refcount leak in __set_personality()

If the change of personality does not lead to change of exec domain,
__set_personality() returned without releasing the module reference
acquired by lookup_exec_domain().

This patch was already included in Linus' tree.
Signed-off-by: default avatarSergey Vlasov <vsu@altlinux.ru>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6f9d7d98
...@@ -140,6 +140,7 @@ __set_personality(u_long personality) ...@@ -140,6 +140,7 @@ __set_personality(u_long personality)
ep = lookup_exec_domain(personality); ep = lookup_exec_domain(personality);
if (ep == current_thread_info()->exec_domain) { if (ep == current_thread_info()->exec_domain) {
current->personality = personality; current->personality = personality;
module_put(ep->module);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment