}
if (is_us_instrumentation()) {
+ // for x86 do_page_fault is do_page_fault(struct pt_regs *regs, unsigned long error_code)
+ // instead of do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) for arm
+#ifdef CONFIG_X86
+ unsigned long address = read_cr2();
+ swap_put_entry_data((void *)address, &sa_dpf);
+#else /* CONFIG_X86 */
swap_put_entry_data((void *)addr, &sa_dpf);
+#endif /* CONFIG_X86 */
}
}
EXPORT_SYMBOL_GPL(do_page_fault_j_pre_code);