Lines Matching refs:fi
145 struct faultinfo *fi = UPT_FAULTINFO(regs); in show_segv_info() local
155 tsk->comm, task_pid_nr(tsk), FAULT_ADDRESS(*fi), in show_segv_info()
157 fi->error_code); in show_segv_info()
163 static void bad_segv(struct faultinfo fi, unsigned long ip) in bad_segv() argument
165 current->thread.arch.faultinfo = fi; in bad_segv()
166 force_sig_fault(SIGSEGV, SEGV_ACCERR, (void __user *) FAULT_ADDRESS(fi), in bad_segv()
194 struct faultinfo * fi = UPT_FAULTINFO(regs); in segv_handler() local
196 if (UPT_IS_USER(regs) && !SEGV_IS_FIXABLE(fi)) { in segv_handler()
198 bad_segv(*fi, UPT_IP(regs)); in segv_handler()
201 segv(*fi, UPT_IP(regs), UPT_IS_USER(regs), regs); in segv_handler()
210 unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, in segv() argument
216 int is_write = FAULT_WRITE(fi); in segv()
217 unsigned long address = FAULT_ADDRESS(fi); in segv()
236 if (SEGV_IS_FIXABLE(&fi)) in segv()
270 current->thread.arch.faultinfo = fi; in segv()
275 current->thread.arch.faultinfo = fi; in segv()
305 struct faultinfo *fi = UPT_FAULTINFO(regs); in relay_signal() local
306 current->thread.arch.faultinfo = *fi; in relay_signal()
307 force_sig_fault(sig, code, (void __user *)FAULT_ADDRESS(*fi), in relay_signal()