return prefetch;
}
-static void
-force_sig_info_fault(int si_signo, int si_code, unsigned long address,
- struct task_struct *tsk, u32 *pkey)
-{
- siginfo_t info;
-
- clear_siginfo(&info);
- info.si_signo = si_signo;
- info.si_errno = 0;
- info.si_code = si_code;
- info.si_addr = (void __user *)address;
-
- force_sig_info(si_signo, &info, tsk);
-}
-
DEFINE_SPINLOCK(pgd_lock);
LIST_HEAD(pgd_list);
tsk->thread.cr2 = address;
/* XXX: hwpoison faults will set the wrong code. */
- force_sig_info_fault(signal, si_code, address,
- tsk, NULL);
+ force_sig_fault(signal, si_code, (void __user *)address,
+ tsk);
}
/*
if (si_code == SEGV_PKUERR)
force_sig_pkuerr((void __user *)address, *pkey);
- force_sig_info_fault(SIGSEGV, si_code, address, tsk, pkey);
+ force_sig_fault(SIGSEGV, si_code, (void __user *)address, tsk);
return;
}
return;
}
#endif
- force_sig_info_fault(SIGBUS, BUS_ADRERR, address, tsk, NULL);
+ force_sig_fault(SIGBUS, BUS_ADRERR, (void __user *)address, tsk);
}
static noinline void