diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-01-29 01:41:54 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-01-29 01:41:54 +0000 |
commit | f969d69ba9f952e5bdd38278e25e26a3e4a61a70 (patch) | |
tree | b3530d803df59d726afaabebc6626987dee1ca05 /arch/ppc/mm/extable.c | |
parent | a10ce7ef2066b455d69187643ddf2073bfc4db24 (diff) |
Merge with 2.3.27.
Diffstat (limited to 'arch/ppc/mm/extable.c')
-rw-r--r-- | arch/ppc/mm/extable.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/ppc/mm/extable.c b/arch/ppc/mm/extable.c index afcf705e1..dc57bf868 100644 --- a/arch/ppc/mm/extable.c +++ b/arch/ppc/mm/extable.c @@ -43,13 +43,18 @@ search_exception_table(unsigned long addr) #else /* The kernel is the last "module" -- no need to treat it special. */ struct module *mp; + read_lock(&modlist_lock); for (mp = module_list; mp != NULL; mp = mp->next) { if (mp->ex_table_start == NULL) continue; ret = search_one_table(mp->ex_table_start, mp->ex_table_end - 1, addr); - if (ret) return ret; + if (ret) { + read_unlock(&modlist_lock); + return ret; + } } + read_unlock(&modlist_lock); #endif return 0; |