Lines Matching refs:fi
144 struct faultinfo *fi = UPT_FAULTINFO(regs); in show_segv_info() local
154 tsk->comm, task_pid_nr(tsk), FAULT_ADDRESS(*fi), in show_segv_info()
156 fi->error_code); in show_segv_info()
162 static void bad_segv(struct faultinfo fi, unsigned long ip) in bad_segv() argument
168 si.si_addr = (void __user *) FAULT_ADDRESS(fi); in bad_segv()
169 current->thread.arch.faultinfo = fi; in bad_segv()
187 struct faultinfo * fi = UPT_FAULTINFO(regs); in segv_handler() local
189 if (UPT_IS_USER(regs) && !SEGV_IS_FIXABLE(fi)) { in segv_handler()
191 bad_segv(*fi, UPT_IP(regs)); in segv_handler()
194 segv(*fi, UPT_IP(regs), UPT_IS_USER(regs), regs); in segv_handler()
203 unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, in segv() argument
209 int is_write = FAULT_WRITE(fi); in segv()
210 unsigned long address = FAULT_ADDRESS(fi); in segv()
229 if (SEGV_IS_FIXABLE(&fi)) in segv()
267 current->thread.arch.faultinfo = fi; in segv()
273 current->thread.arch.faultinfo = fi; in segv()
286 struct faultinfo *fi; in relay_signal() local
308 fi = UPT_FAULTINFO(regs); in relay_signal()
309 clean_si.si_addr = (void __user *) FAULT_ADDRESS(*fi); in relay_signal()
310 current->thread.arch.faultinfo = *fi; in relay_signal()