Skip to contentSkip to conversation

x86: Use helper in fault_64.c

PATCH Applied Harvey Harrison 2 participants 3 messages Dec 18, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86: Use helper in fault_64.c

Use the fixup_exception() helper in fault_64.c

---
This is only appropriate if CONFIG_PNP_BIOS cannot be set on X86_64, which looks to be the case, but needs confirmation.

 arch/x86/mm/fault_64.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)
arch/x86/mm/fault_64.c +1 -4
index 121c7bd..3a94941 100644
@@ -298,7 +298,6 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
 	struct mm_struct *mm;
 	struct vm_area_struct * vma;
 	unsigned long address;
-	const struct exception_table_entry *fixup;
 	int write, fault;
 	unsigned long flags;
 	siginfo_t info;
@@ -508,9 +507,7 @@ bad_area_nosemaphore:
 no_context:
 	
 	/* Are we prepared to handle this kernel fault?  */
-	fixup = search_exception_tables(regs->ip);
-	if (fixup) {
-		regs->ip = fixup->fixup;
+	if (fixup_exception(regs)) {
 		return;
 	}
 
Signature · 1 line
1.5.4.rc0.1143.g1a8a
Applied
#1 lore raw
Quoted 1 line · Harvey Harrison

Use the fixup_exception() helper in fault_64.c

thanks, applied.

Quoted 2 lines

This is only appropriate if CONFIG_PNP_BIOS cannot be set on X86_64, which looks to be the case, but needs confirmation.

yeah, that seems to be the case:

in drivers/pnp/pnpbios/Kconfig:

config PNPBIOS
...

         depends on ISA && X86 && EXPERIMENTAL

in arch/x86/Kconfig:

if X86_32
config ISA

it seems the PNPBIOS has not infested the 64-bit world, so we wont ever see this with a 64-bit kernel:

                extern u32 pnp_bios_is_utter_crap;
                pnp_bios_is_utter_crap = 1;
                printk(KERN_CRIT "PNPBIOS fault.. attempting recovery.\n");

	Ingo
#2 lore raw
Quoted 13 lines · Ingo Molnar
Quoted 1 line · Harvey Harrison

Use the fixup_exception() helper in fault_64.c

thanks, applied.

Quoted 2 lines

This is only appropriate if CONFIG_PNP_BIOS cannot be set on X86_64, which looks to be the case, but needs confirmation.

yeah, that seems to be the case:

in drivers/pnp/pnpbios/Kconfig:

Quoted 8 lines

config PNPBIOS
...

         depends on ISA && X86 && EXPERIMENTAL

in arch/x86/Kconfig:

if X86_32
config ISA

That's how I read it, just wanted a second opinion.

Harvey