From: Sergey Vlasov 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(). Signed-off-by: Sergey Vlasov Cc: Christoph Hellwig Signed-off-by: Andrew Morton --- kernel/exec_domain.c | 1 + 1 files changed, 1 insertion(+) diff -puN kernel/exec_domain.c~fix-module-refcount-leak-in-__set_personality kernel/exec_domain.c --- 25/kernel/exec_domain.c~fix-module-refcount-leak-in-__set_personality Thu Feb 16 18:44:09 2006 +++ 25-akpm/kernel/exec_domain.c Thu Feb 16 18:44:09 2006 @@ -140,6 +140,7 @@ __set_personality(u_long personality) ep = lookup_exec_domain(personality); if (ep == current_thread_info()->exec_domain) { current->personality = personality; + module_put(ep->module); return 0; } _