Lines Matching refs:err

106 	int err = 0;  in copy_fpu_to_sigcontext()  local
112 err |= in copy_fpu_to_sigcontext()
116 err |= __put_user(current->thread.fpu.fcc, fcc); in copy_fpu_to_sigcontext()
117 err |= __put_user(current->thread.fpu.fcsr, fcsr); in copy_fpu_to_sigcontext()
119 return err; in copy_fpu_to_sigcontext()
125 int err = 0; in copy_fpu_from_sigcontext() local
132 err |= __get_user(fpr_val, &regs[i]); in copy_fpu_from_sigcontext()
135 err |= __get_user(current->thread.fpu.fcc, fcc); in copy_fpu_from_sigcontext()
136 err |= __get_user(current->thread.fpu.fcsr, fcsr); in copy_fpu_from_sigcontext()
138 return err; in copy_fpu_from_sigcontext()
144 int err = 0; in copy_lsx_to_sigcontext() local
150 err |= __put_user(get_fpr64(&current->thread.fpu.fpr[i], 0), in copy_lsx_to_sigcontext()
152 err |= __put_user(get_fpr64(&current->thread.fpu.fpr[i], 1), in copy_lsx_to_sigcontext()
155 err |= __put_user(current->thread.fpu.fcc, fcc); in copy_lsx_to_sigcontext()
156 err |= __put_user(current->thread.fpu.fcsr, fcsr); in copy_lsx_to_sigcontext()
158 return err; in copy_lsx_to_sigcontext()
164 int err = 0; in copy_lsx_from_sigcontext() local
171 err |= __get_user(fpr_val, &regs[2*i]); in copy_lsx_from_sigcontext()
173 err |= __get_user(fpr_val, &regs[2*i+1]); in copy_lsx_from_sigcontext()
176 err |= __get_user(current->thread.fpu.fcc, fcc); in copy_lsx_from_sigcontext()
177 err |= __get_user(current->thread.fpu.fcsr, fcsr); in copy_lsx_from_sigcontext()
179 return err; in copy_lsx_from_sigcontext()
185 int err = 0; in copy_lasx_to_sigcontext() local
191 err |= __put_user(get_fpr64(&current->thread.fpu.fpr[i], 0), in copy_lasx_to_sigcontext()
193 err |= __put_user(get_fpr64(&current->thread.fpu.fpr[i], 1), in copy_lasx_to_sigcontext()
195 err |= __put_user(get_fpr64(&current->thread.fpu.fpr[i], 2), in copy_lasx_to_sigcontext()
197 err |= __put_user(get_fpr64(&current->thread.fpu.fpr[i], 3), in copy_lasx_to_sigcontext()
200 err |= __put_user(current->thread.fpu.fcc, fcc); in copy_lasx_to_sigcontext()
201 err |= __put_user(current->thread.fpu.fcsr, fcsr); in copy_lasx_to_sigcontext()
203 return err; in copy_lasx_to_sigcontext()
209 int err = 0; in copy_lasx_from_sigcontext() local
216 err |= __get_user(fpr_val, &regs[4*i]); in copy_lasx_from_sigcontext()
218 err |= __get_user(fpr_val, &regs[4*i+1]); in copy_lasx_from_sigcontext()
220 err |= __get_user(fpr_val, &regs[4*i+2]); in copy_lasx_from_sigcontext()
222 err |= __get_user(fpr_val, &regs[4*i+3]); in copy_lasx_from_sigcontext()
225 err |= __get_user(current->thread.fpu.fcc, fcc); in copy_lasx_from_sigcontext()
226 err |= __get_user(current->thread.fpu.fcsr, fcsr); in copy_lasx_from_sigcontext()
228 return err; in copy_lasx_from_sigcontext()
234 int err = 0; in copy_lbt_to_sigcontext() local
238 err |= __put_user(current->thread.lbt.scr0, &regs[0]); in copy_lbt_to_sigcontext()
239 err |= __put_user(current->thread.lbt.scr1, &regs[1]); in copy_lbt_to_sigcontext()
240 err |= __put_user(current->thread.lbt.scr2, &regs[2]); in copy_lbt_to_sigcontext()
241 err |= __put_user(current->thread.lbt.scr3, &regs[3]); in copy_lbt_to_sigcontext()
242 err |= __put_user(current->thread.lbt.eflags, eflags); in copy_lbt_to_sigcontext()
244 return err; in copy_lbt_to_sigcontext()
249 int err = 0; in copy_lbt_from_sigcontext() local
253 err |= __get_user(current->thread.lbt.scr0, &regs[0]); in copy_lbt_from_sigcontext()
254 err |= __get_user(current->thread.lbt.scr1, &regs[1]); in copy_lbt_from_sigcontext()
255 err |= __get_user(current->thread.lbt.scr2, &regs[2]); in copy_lbt_from_sigcontext()
256 err |= __get_user(current->thread.lbt.scr3, &regs[3]); in copy_lbt_from_sigcontext()
257 err |= __get_user(current->thread.lbt.eflags, eflags); in copy_lbt_from_sigcontext()
259 return err; in copy_lbt_from_sigcontext()
371 int err, sig = 0; in fcsr_pending() local
374 err = __get_user(csr, fcsr); in fcsr_pending()
382 err |= __put_user(csr, fcsr); in fcsr_pending()
385 return err ?: sig; in fcsr_pending()
393 int err = 0; in protected_save_fpu_context() local
403 err = save_hw_fpu_context(fpu_ctx); in protected_save_fpu_context()
405 err = copy_fpu_to_sigcontext(fpu_ctx); in protected_save_fpu_context()
408 err |= __put_user(FPU_CTX_MAGIC, &info->magic); in protected_save_fpu_context()
409 err |= __put_user(extctx->fpu.size, &info->size); in protected_save_fpu_context()
411 if (likely(!err)) in protected_save_fpu_context()
414 err = __put_user(0, &regs[0]) | in protected_save_fpu_context()
418 if (err) in protected_save_fpu_context()
419 return err; /* really bad sigcontext */ in protected_save_fpu_context()
422 return err; in protected_save_fpu_context()
427 int err = 0, sig = 0, tmp __maybe_unused; in protected_restore_fpu_context() local
434 err = sig = fcsr_pending(fcsr); in protected_restore_fpu_context()
435 if (err < 0) in protected_restore_fpu_context()
436 return err; in protected_restore_fpu_context()
441 err = restore_hw_fpu_context(fpu_ctx); in protected_restore_fpu_context()
443 err = copy_fpu_from_sigcontext(fpu_ctx); in protected_restore_fpu_context()
446 if (likely(!err)) in protected_restore_fpu_context()
449 err = __get_user(tmp, &regs[0]) | in protected_restore_fpu_context()
453 if (err) in protected_restore_fpu_context()
457 return err ?: sig; in protected_restore_fpu_context()
462 int err = 0; in protected_save_lsx_context() local
472 err = save_hw_lsx_context(lsx_ctx); in protected_save_lsx_context()
476 err = copy_lsx_to_sigcontext(lsx_ctx); in protected_save_lsx_context()
480 err |= __put_user(LSX_CTX_MAGIC, &info->magic); in protected_save_lsx_context()
481 err |= __put_user(extctx->lsx.size, &info->size); in protected_save_lsx_context()
483 if (likely(!err)) in protected_save_lsx_context()
486 err = __put_user(0, &regs[0]) | in protected_save_lsx_context()
490 if (err) in protected_save_lsx_context()
491 return err; /* really bad sigcontext */ in protected_save_lsx_context()
494 return err; in protected_save_lsx_context()
499 int err = 0, sig = 0, tmp __maybe_unused; in protected_restore_lsx_context() local
506 err = sig = fcsr_pending(fcsr); in protected_restore_lsx_context()
507 if (err < 0) in protected_restore_lsx_context()
508 return err; in protected_restore_lsx_context()
513 err = restore_hw_lsx_context(lsx_ctx); in protected_restore_lsx_context()
515 err = copy_lsx_from_sigcontext(lsx_ctx); in protected_restore_lsx_context()
521 if (likely(!err)) in protected_restore_lsx_context()
524 err = __get_user(tmp, &regs[0]) | in protected_restore_lsx_context()
528 if (err) in protected_restore_lsx_context()
532 return err ?: sig; in protected_restore_lsx_context()
537 int err = 0; in protected_save_lasx_context() local
548 err = save_hw_lasx_context(lasx_ctx); in protected_save_lasx_context()
554 err = copy_lasx_to_sigcontext(lasx_ctx); in protected_save_lasx_context()
558 err |= __put_user(LASX_CTX_MAGIC, &info->magic); in protected_save_lasx_context()
559 err |= __put_user(extctx->lasx.size, &info->size); in protected_save_lasx_context()
561 if (likely(!err)) in protected_save_lasx_context()
564 err = __put_user(0, &regs[0]) | in protected_save_lasx_context()
568 if (err) in protected_save_lasx_context()
569 return err; /* really bad sigcontext */ in protected_save_lasx_context()
572 return err; in protected_save_lasx_context()
577 int err = 0, sig = 0, tmp __maybe_unused; in protected_restore_lasx_context() local
585 err = sig = fcsr_pending(fcsr); in protected_restore_lasx_context()
586 if (err < 0) in protected_restore_lasx_context()
587 return err; in protected_restore_lasx_context()
592 err = restore_hw_lasx_context(lasx_ctx); in protected_restore_lasx_context()
594 err = copy_lasx_from_sigcontext(lasx_ctx); in protected_restore_lasx_context()
602 if (likely(!err)) in protected_restore_lasx_context()
605 err = __get_user(tmp, &regs[0]) | in protected_restore_lasx_context()
609 if (err) in protected_restore_lasx_context()
613 return err ?: sig; in protected_restore_lasx_context()
619 int err = 0; in protected_save_lbt_context() local
629 err |= save_hw_lbt_context(lbt_ctx); in protected_save_lbt_context()
631 err |= copy_lbt_to_sigcontext(lbt_ctx); in protected_save_lbt_context()
633 err |= save_hw_ftop_context(lbt_ctx); in protected_save_lbt_context()
635 err |= copy_ftop_to_sigcontext(lbt_ctx); in protected_save_lbt_context()
638 err |= __put_user(LBT_CTX_MAGIC, &info->magic); in protected_save_lbt_context()
639 err |= __put_user(extctx->lbt.size, &info->size); in protected_save_lbt_context()
641 if (likely(!err)) in protected_save_lbt_context()
644 err = __put_user(0, &regs[0]) | __put_user(0, eflags); in protected_save_lbt_context()
646 if (err) in protected_save_lbt_context()
647 return err; in protected_save_lbt_context()
650 return err; in protected_save_lbt_context()
655 int err = 0, tmp __maybe_unused; in protected_restore_lbt_context() local
665 err |= restore_hw_lbt_context(lbt_ctx); in protected_restore_lbt_context()
667 err |= copy_lbt_from_sigcontext(lbt_ctx); in protected_restore_lbt_context()
669 err |= restore_hw_ftop_context(lbt_ctx); in protected_restore_lbt_context()
671 err |= copy_ftop_from_sigcontext(lbt_ctx); in protected_restore_lbt_context()
674 if (likely(!err)) in protected_restore_lbt_context()
677 err = __get_user(tmp, &regs[0]) | __get_user(tmp, eflags); in protected_restore_lbt_context()
679 if (err) in protected_restore_lbt_context()
680 return err; in protected_restore_lbt_context()
683 return err; in protected_restore_lbt_context()
690 int i, err = 0; in setup_sigcontext() local
693 err |= __put_user(regs->csr_era, &sc->sc_pc); in setup_sigcontext()
694 err |= __put_user(extctx->flags, &sc->sc_flags); in setup_sigcontext()
696 err |= __put_user(0, &sc->sc_regs[0]); in setup_sigcontext()
698 err |= __put_user(regs->regs[i], &sc->sc_regs[i]); in setup_sigcontext()
701 err |= protected_save_lasx_context(extctx); in setup_sigcontext()
703 err |= protected_save_lsx_context(extctx); in setup_sigcontext()
705 err |= protected_save_fpu_context(extctx); in setup_sigcontext()
709 err |= protected_save_lbt_context(extctx); in setup_sigcontext()
714 err |= __put_user(0, &info->magic); in setup_sigcontext()
715 err |= __put_user(0, &info->size); in setup_sigcontext()
717 return err; in setup_sigcontext()
722 int err = 0; in parse_extcontext() local
727 err |= __get_user(magic, &info->magic); in parse_extcontext()
728 err |= __get_user(size, &info->size); in parse_extcontext()
729 if (err) in parse_extcontext()
730 return err; in parse_extcontext()
780 int i, err = 0; in restore_sigcontext() local
785 err = __get_user(extctx.flags, &sc->sc_flags); in restore_sigcontext()
786 if (err) in restore_sigcontext()
789 err = parse_extcontext(sc, &extctx); in restore_sigcontext()
790 if (err) in restore_sigcontext()
805 err |= __get_user(regs->csr_era, &sc->sc_pc); in restore_sigcontext()
807 err |= __get_user(regs->regs[i], &sc->sc_regs[i]); in restore_sigcontext()
810 err |= protected_restore_lasx_context(&extctx); in restore_sigcontext()
812 err |= protected_restore_lsx_context(&extctx); in restore_sigcontext()
814 err |= protected_restore_fpu_context(&extctx); in restore_sigcontext()
818 err |= protected_restore_lbt_context(&extctx); in restore_sigcontext()
822 return err; in restore_sigcontext()
962 int err = 0; in setup_rt_frame() local
971 err |= copy_siginfo_to_user(&frame->rs_info, &ksig->info); in setup_rt_frame()
974 err |= __put_user(0, &frame->rs_uctx.uc_flags); in setup_rt_frame()
975 err |= __put_user(NULL, &frame->rs_uctx.uc_link); in setup_rt_frame()
976 err |= __save_altstack(&frame->rs_uctx.uc_stack, regs->regs[3]); in setup_rt_frame()
977 err |= setup_sigcontext(regs, &frame->rs_uctx.uc_mcontext, &extctx); in setup_rt_frame()
978 err |= __copy_to_user(&frame->rs_uctx.uc_sigmask, set, sizeof(*set)); in setup_rt_frame()
980 if (err) in setup_rt_frame()