Lines Matching refs:fi
136 struct faultinfo *fi = UPT_FAULTINFO(regs); in show_segv_info() local
146 tsk->comm, task_pid_nr(tsk), FAULT_ADDRESS(*fi), in show_segv_info()
148 fi->error_code); in show_segv_info()
154 static void bad_segv(struct faultinfo fi, unsigned long ip) in bad_segv() argument
156 current->thread.arch.faultinfo = fi; in bad_segv()
157 force_sig_fault(SIGSEGV, SEGV_ACCERR, (void __user *) FAULT_ADDRESS(fi)); in bad_segv()
184 struct faultinfo * fi = UPT_FAULTINFO(regs); in segv_handler() local
186 if (UPT_IS_USER(regs) && !SEGV_IS_FIXABLE(fi)) { in segv_handler()
188 bad_segv(*fi, UPT_IP(regs)); in segv_handler()
191 segv(*fi, UPT_IP(regs), UPT_IS_USER(regs), regs); in segv_handler()
200 unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, in segv() argument
206 int is_write = FAULT_WRITE(fi); in segv()
207 unsigned long address = FAULT_ADDRESS(fi); in segv()
226 if (SEGV_IS_FIXABLE(&fi)) in segv()
260 current->thread.arch.faultinfo = fi; in segv()
264 current->thread.arch.faultinfo = fi; in segv()
293 struct faultinfo *fi = UPT_FAULTINFO(regs); in relay_signal() local
294 current->thread.arch.faultinfo = *fi; in relay_signal()
295 force_sig_fault(sig, code, (void __user *)FAULT_ADDRESS(*fi)); in relay_signal()