kernel/extable: fix address-checks for core_kernel and init areas

The init_kernel_text() and core_kernel_text() functions should not
include the labels _einittext and _etext when checking if an address is
inside the .text or .init sections.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Helge Deller 2013-11-28 09:16:33 +01:00 committed by Linus Torvalds
parent e7c0d3dac8
commit 5ecbe3c3c6

View file

@ -61,7 +61,7 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr)
static inline int init_kernel_text(unsigned long addr) static inline int init_kernel_text(unsigned long addr)
{ {
if (addr >= (unsigned long)_sinittext && if (addr >= (unsigned long)_sinittext &&
addr <= (unsigned long)_einittext) addr < (unsigned long)_einittext)
return 1; return 1;
return 0; return 0;
} }
@ -69,7 +69,7 @@ static inline int init_kernel_text(unsigned long addr)
int core_kernel_text(unsigned long addr) int core_kernel_text(unsigned long addr)
{ {
if (addr >= (unsigned long)_stext && if (addr >= (unsigned long)_stext &&
addr <= (unsigned long)_etext) addr < (unsigned long)_etext)
return 1; return 1;
if (system_state == SYSTEM_BOOTING && if (system_state == SYSTEM_BOOTING &&