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

Helge Deller
2013-11-28T08:16:41Z

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>

diff --git a/kernel/extable.c b/kernel/extable.c
index 832cb28..763faf0 100644
--- a/kernel/extable.c
+++ b/kernel/extable.c
@@ -61,7 +61,7 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr)
static inline int init_kernel_text(unsigned long addr)
{
if (addr >= (unsigned long)_sinittext &&
- addr <= (unsigned long)_einittext)
+ addr < (unsigned long)_einittext)
return 1;
return 0;
}
@@ -69,7 +69,7 @@ static inline int init_kernel_text(unsigned long addr)
int core_kernel_text(unsigned long addr)
{
if (addr >= (unsigned long)_stext &&
- addr <= (unsigned long)_etext)
+ addr < (unsigned long)_etext)
return 1;

if (system_state == SYSTEM_BOOTING &&