aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2008-01-29 17:13:17 -0500
committerRusty Russell <rusty@rustcorp.com.au>2008-01-29 17:13:18 +1100
commita2da4052f1df6bc77749f84496fe731ab8b458f7 (patch)
treed80b32de264a9929cc5746022a11674a5619bed6
parent8561b089afbaed2651591e5a4574fdca451d82f2 (diff)
downloadkernel_samsung_smdk4412-a2da4052f1df6bc77749f84496fe731ab8b458f7.zip
kernel_samsung_smdk4412-a2da4052f1df6bc77749f84496fe731ab8b458f7.tar.gz
kernel_samsung_smdk4412-a2da4052f1df6bc77749f84496fe731ab8b458f7.tar.bz2
module: Don't report discarded init pages as kernel text.
Current code could cause a bug in symbol_put_addr() if an arch used kmalloc module text: we might think the symbol belongs to the core kernel. The downside is that this might make backtraces through (discarded) init functions harder to read on some archs, but we already have that issue for modules and noone has complained. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--kernel/extable.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/extable.c b/kernel/extable.c
index 7fe2628..a26cb2e 100644
--- a/kernel/extable.c
+++ b/kernel/extable.c
@@ -46,7 +46,8 @@ int core_kernel_text(unsigned long addr)
addr <= (unsigned long)_etext)
return 1;
- if (addr >= (unsigned long)_sinittext &&
+ if (system_state == SYSTEM_BOOTING &&
+ addr >= (unsigned long)_sinittext &&
addr <= (unsigned long)_einittext)
return 1;
return 0;