Lines Matching refs:fi
143 struct faultinfo *fi = UPT_FAULTINFO(regs); in show_segv_info() local
153 tsk->comm, task_pid_nr(tsk), FAULT_ADDRESS(*fi), in show_segv_info()
155 fi->error_code); in show_segv_info()
161 static void bad_segv(struct faultinfo fi, unsigned long ip) in bad_segv() argument
167 si.si_addr = (void __user *) FAULT_ADDRESS(fi); in bad_segv()
168 current->thread.arch.faultinfo = fi; in bad_segv()
186 struct faultinfo * fi = UPT_FAULTINFO(regs); in segv_handler() local
188 if (UPT_IS_USER(regs) && !SEGV_IS_FIXABLE(fi)) { in segv_handler()
190 bad_segv(*fi, UPT_IP(regs)); in segv_handler()
193 segv(*fi, UPT_IP(regs), UPT_IS_USER(regs), regs); in segv_handler()
202 unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, in segv() argument
208 int is_write = FAULT_WRITE(fi); in segv()
209 unsigned long address = FAULT_ADDRESS(fi); in segv()
223 if (SEGV_IS_FIXABLE(&fi)) in segv()
261 current->thread.arch.faultinfo = fi; in segv()
267 current->thread.arch.faultinfo = fi; in segv()
280 struct faultinfo *fi; in relay_signal() local
302 fi = UPT_FAULTINFO(regs); in relay_signal()
303 clean_si.si_addr = (void __user *) FAULT_ADDRESS(*fi); in relay_signal()
304 current->thread.arch.faultinfo = *fi; in relay_signal()