Commit c790b41b authored by Helge Deller's avatar Helge Deller

parisc: use kernel_text_address() in unwind functions

Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 6c3215cd
...@@ -168,7 +168,7 @@ void unwind_table_remove(struct unwind_table *table) ...@@ -168,7 +168,7 @@ void unwind_table_remove(struct unwind_table *table)
} }
/* Called from setup_arch to import the kernel unwind info */ /* Called from setup_arch to import the kernel unwind info */
int unwind_init(void) int __init unwind_init(void)
{ {
long start, stop; long start, stop;
register unsigned long gp __asm__ ("r27"); register unsigned long gp __asm__ ("r27");
...@@ -233,7 +233,6 @@ static void unwind_frame_regs(struct unwind_frame_info *info) ...@@ -233,7 +233,6 @@ static void unwind_frame_regs(struct unwind_frame_info *info)
e = find_unwind_entry(info->ip); e = find_unwind_entry(info->ip);
if (e == NULL) { if (e == NULL) {
unsigned long sp; unsigned long sp;
extern char _stext[], _etext[];
dbg("Cannot find unwind entry for 0x%lx; forced unwinding\n", info->ip); dbg("Cannot find unwind entry for 0x%lx; forced unwinding\n", info->ip);
...@@ -281,8 +280,7 @@ static void unwind_frame_regs(struct unwind_frame_info *info) ...@@ -281,8 +280,7 @@ static void unwind_frame_regs(struct unwind_frame_info *info)
break; break;
info->prev_ip = tmp; info->prev_ip = tmp;
sp = info->prev_sp; sp = info->prev_sp;
} while (info->prev_ip < (unsigned long)_stext || } while (!kernel_text_address(info->prev_ip));
info->prev_ip > (unsigned long)_etext);
info->rp = 0; info->rp = 0;
...@@ -435,9 +433,8 @@ unsigned long return_address(unsigned int level) ...@@ -435,9 +433,8 @@ unsigned long return_address(unsigned int level)
do { do {
if (unwind_once(&info) < 0 || info.ip == 0) if (unwind_once(&info) < 0 || info.ip == 0)
return 0; return 0;
if (!__kernel_text_address(info.ip)) { if (!kernel_text_address(info.ip))
return 0; return 0;
}
} while (info.ip && level--); } while (info.ip && level--);
return info.ip; return info.ip;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment