diff options
Diffstat (limited to 'kernel/exec_domain.c')
| -rw-r--r-- | kernel/exec_domain.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/exec_domain.c b/kernel/exec_domain.c index 729be6df82be..e8437d7987a4 100644 --- a/kernel/exec_domain.c +++ b/kernel/exec_domain.c @@ -86,19 +86,18 @@ lookup_exec_domain(u_long personality) if (try_inc_mod_count(ep->module)) goto out; } - read_unlock(&exec_domains_lock); #ifdef CONFIG_KMOD + read_unlock(&exec_domains_lock); sprintf(buffer, "personality-%ld", pers); request_module(buffer); - read_lock(&exec_domains_lock); + for (ep = exec_domains; ep; ep = ep->next) { if (pers >= ep->pers_low && pers <= ep->pers_high) if (try_inc_mod_count(ep->module)) goto out; } - read_unlock(&exec_domains_lock); #endif ep = &default_exec_domain; |
