summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/sparc64/kernel/traps.c12
-rw-r--r--arch/sparc64/kernel/unaligned.c2
-rw-r--r--arch/sparc64/mm/extable.c4
-rw-r--r--arch/sparc64/mm/fault.c2
4 files changed, 10 insertions, 10 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c
index 2d08fbdf37a6..23e5a862f088 100644
--- a/arch/sparc64/kernel/traps.c
+++ b/arch/sparc64/kernel/traps.c
@@ -149,17 +149,17 @@ void data_access_exception (struct pt_regs *regs,
if (regs->tstate & TSTATE_PRIV) {
/* Test if this comes from uaccess places. */
- const struct exception_table_entry *entry;
+ unsigned long fixup;
unsigned long g2 = regs->u_regs[UREG_G2];
- if ((entry = search_extables_range(regs->tpc, &g2))) {
+ if ((fixup = search_extables_range(regs->tpc, &g2))) {
/* Ouch, somebody is trying ugly VM hole tricks on us... */
#ifdef DEBUG_EXCEPTIONS
printk("Exception: PC<%016lx> faddr<UNKNOWN>\n", regs->tpc);
printk("EX_TABLE: insn<%016lx> fixup<%016lx> "
- "g2<%016lx>\n", regs->tpc, entry->fixup, g2);
+ "g2<%016lx>\n", regs->tpc, fixup, g2);
#endif
- regs->tpc = entry->fixup;
+ regs->tpc = fixup;
regs->tnpc = regs->tpc + 4;
regs->u_regs[UREG_G2] = g2;
return;
@@ -1390,8 +1390,8 @@ void cheetah_deferred_handler(struct pt_regs *regs, unsigned long afsr, unsigned
/* Only perform fixup if we still have a
* recoverable condition.
*/
- if (entry && recoverable) {
- regs->tpc = entry->fixup;
+ if (recoverable) {
+ regs->tpc = fixup;
regs->tnpc = regs->tpc + 4;
regs->u_regs[UREG_G2] = g2;
}
diff --git a/arch/sparc64/kernel/unaligned.c b/arch/sparc64/kernel/unaligned.c
index 1be7c0125f1d..1d403a089e01 100644
--- a/arch/sparc64/kernel/unaligned.c
+++ b/arch/sparc64/kernel/unaligned.c
@@ -361,7 +361,7 @@ void kernel_mna_trap_fault(struct pt_regs *regs, unsigned int insn) __asm__ ("ke
void kernel_mna_trap_fault(struct pt_regs *regs, unsigned int insn)
{
unsigned long g2 = regs->u_regs [UREG_G2];
- unsigned long fixup = search_exception_table (regs->tpc, &g2);
+ unsigned long fixup = search_extables_range(regs->tpc, &g2);
if (!fixup) {
unsigned long address = compute_effective_address(regs, insn, ((insn >> 25) & 0x1f));
diff --git a/arch/sparc64/mm/extable.c b/arch/sparc64/mm/extable.c
index 6d15ac93cd94..54a17bc63324 100644
--- a/arch/sparc64/mm/extable.c
+++ b/arch/sparc64/mm/extable.c
@@ -31,7 +31,7 @@ search_extable(const struct exception_table_entry *start,
*/
/* 1. Try to find an exact match. */
- for (walk = start; walk <= end; walk++) {
+ for (walk = start; walk <= last; walk++) {
if (walk->fixup == 0) {
/* A range entry, skip both parts. */
walk++;
@@ -43,7 +43,7 @@ search_extable(const struct exception_table_entry *start,
}
/* 2. Try to find a range match. */
- for (walk = start; walk <= (end - 1); walk++) {
+ for (walk = start; walk <= (last - 1); walk++) {
if (walk->fixup)
continue;
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c
index 064b00856381..5c4a56023668 100644
--- a/arch/sparc64/mm/fault.c
+++ b/arch/sparc64/mm/fault.c
@@ -286,7 +286,7 @@ static void do_kernel_fault(struct pt_regs *regs, int si_code, int fault_code,
/* Look in asi.h: All _S asis have LS bit set */
if ((asi & 0x1) &&
- (fizup = search_extables_range(regs->tpc, &g2))) {
+ (fixup = search_extables_range(regs->tpc, &g2))) {
regs->tpc = fixup;
regs->tnpc = regs->tpc + 4;
regs->u_regs[UREG_G2] = g2;