module: Don't report discarded init pages as kernel text.
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 29 Jan 2008 22:13:17 +0000 (17:13 -0500)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 29 Jan 2008 06:13:18 +0000 (17:13 +1100)
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>
kernel/extable.c

index 7fe2628..a26cb2e 100644 (file)
@@ -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;