|
@@ -476,6 +476,12 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
|
|
|
bad_area_nosemaphore:
|
|
bad_area_nosemaphore:
|
|
|
/* User mode accesses just cause a SIGSEGV */
|
|
/* User mode accesses just cause a SIGSEGV */
|
|
|
if (error_code & PF_USER) {
|
|
if (error_code & PF_USER) {
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ * It's possible to have interrupts off here.
|
|
|
|
|
+ */
|
|
|
|
|
+ local_irq_enable();
|
|
|
|
|
+
|
|
|
if (is_prefetch(regs, address, error_code))
|
|
if (is_prefetch(regs, address, error_code))
|
|
|
return;
|
|
return;
|
|
|
|
|
|