Lines Matching full:frame
109 static int setup_sigcontext(struct target_rt_sigframe *frame, in setup_sigcontext() argument
112 struct target_sigcontext *sc = &frame->uc.tuc_mcontext; in setup_sigcontext()
159 struct target_rt_sigframe *frame; in setup_rt_frame() local
168 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_rt_frame()
182 if (!lock_user_struct(VERIFY_WRITE, frame, frame_addr, 0)) { in setup_rt_frame()
187 frame->info = *info; in setup_rt_frame()
190 __put_user(0, &frame->uc.tuc_flags); in setup_rt_frame()
191 __put_user(0, &frame->uc.tuc_link); in setup_rt_frame()
192 target_save_altstack(&frame->uc.tuc_stack, env); in setup_rt_frame()
193 if (!setup_sigcontext(frame, env)) { in setup_rt_frame()
194 unlock_user_struct(frame, frame_addr, 0); in setup_rt_frame()
198 __put_user(set->sig[i], &frame->uc.tuc_sigmask.sig[i]); in setup_rt_frame()
204 unlock_user_struct(frame, frame_addr, 0); in setup_rt_frame()
212 install_sigtramp(frame->retcode); in setup_rt_frame()
239 unlock_user_struct(frame, frame_addr, 1); in setup_rt_frame()
247 struct target_rt_sigframe *frame) in restore_sigcontext() argument
249 struct target_sigcontext *sc = &frame->uc.tuc_mcontext; in restore_sigcontext()
275 struct target_rt_sigframe *frame; in do_rt_sigreturn() local
279 if (!lock_user_struct(VERIFY_READ, frame, frame_addr, 1)) { in do_rt_sigreturn()
282 target_to_host_sigset(&set, &frame->uc.tuc_sigmask); in do_rt_sigreturn()
285 restore_sigcontext(env, frame); in do_rt_sigreturn()
286 target_restore_altstack(&frame->uc.tuc_stack, env); in do_rt_sigreturn()
288 unlock_user_struct(frame, frame_addr, 0); in do_rt_sigreturn()
292 unlock_user_struct(frame, frame_addr, 0); in do_rt_sigreturn()