X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=kernel%2Fexec_domain.c;h=a9e6bad9f706b05f96b2e7c4e16e6cb75acd6f4e;hb=ee56d977423a58b53fd0fc1ef0aca0c9cb564c53;hp=867d6dbeb5743d1e49e1906b990031b4bdd7ee56;hpb=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2;p=firefly-linux-kernel-4.4.55.git diff --git a/kernel/exec_domain.c b/kernel/exec_domain.c index 867d6dbeb574..a9e6bad9f706 100644 --- a/kernel/exec_domain.c +++ b/kernel/exec_domain.c @@ -7,7 +7,6 @@ * 2001-05-06 Complete rewrite, Christoph Hellwig (hch@infradead.org) */ -#include #include #include #include @@ -58,7 +57,7 @@ lookup_exec_domain(u_long personality) { struct exec_domain * ep; u_long pers = personality(personality); - + read_lock(&exec_domains_lock); for (ep = exec_domains; ep; ep = ep->next) { if (pers >= ep->pers_low && pers <= ep->pers_high) @@ -140,6 +139,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; }