patch-2.4.23 linux-2.4.23/arch/x86_64/mm/extable.c
Next file: linux-2.4.23/arch/x86_64/mm/fault.c
Previous file: linux-2.4.23/arch/x86_64/lib/usercopy.c
Back to the patch index
Back to the overall index
- Lines: 24
- Date:
2003-11-28 10:26:19.000000000 -0800
- Orig file:
linux-2.4.22/arch/x86_64/mm/extable.c
- Orig date:
2002-11-28 15:53:12.000000000 -0800
diff -urN linux-2.4.22/arch/x86_64/mm/extable.c linux-2.4.23/arch/x86_64/mm/extable.c
@@ -1,10 +1,11 @@
/*
- * linux/arch/i386/mm/extable.c
+ * linux/arch/x86_64/mm/extable.c
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/spinlock.h>
+#include <linux/init.h>
#include <asm/uaccess.h>
extern const struct exception_table_entry __start___ex_table[];
@@ -39,6 +40,10 @@
unsigned long ret = 0;
unsigned long flags;
+ /* Workaround for an Opteron issue */
+ if ((addr >> 32) == 0)
+ addr |= 0xffffffffUL << 32;
+
#ifndef CONFIG_MODULES
/* There is only the kernel to search. */
ret = search_one_table(__start___ex_table, __stop___ex_table-1, addr);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)