Lines Matching refs:err

194 	int err;
197 err = __copy_to_user(ctx->vregs, fpsimd->vregs, sizeof(fpsimd->vregs));
198 __put_user_error(fpsimd->fpsr, &ctx->fpsr, err);
199 __put_user_error(fpsimd->fpcr, &ctx->fpcr, err);
202 __put_user_error(FPSIMD_MAGIC, &ctx->head.magic, err);
203 __put_user_error(sizeof(struct fpsimd_context), &ctx->head.size, err);
205 return err ? -EFAULT : 0;
211 int err = 0;
218 err = __copy_from_user(fpsimd.vregs, &(user->fpsimd->vregs),
220 __get_user_error(fpsimd.fpsr, &(user->fpsimd->fpsr), err);
221 __get_user_error(fpsimd.fpcr, &(user->fpsimd->fpcr), err);
227 if (!err)
230 return err ? -EFAULT : 0;
235 int err = 0;
239 __put_user_error(FPMR_MAGIC, &ctx->head.magic, err);
240 __put_user_error(sizeof(*ctx), &ctx->head.size, err);
241 __put_user_error(current->thread.uw.fpmr, &ctx->fpmr, err);
243 return err;
249 int err = 0;
254 __get_user_error(fpmr, &user->fpmr->fpmr, err);
255 if (!err)
258 return err;
265 int err = 0;
281 __put_user_error(SVE_MAGIC, &ctx->head.magic, err);
283 &ctx->head.size, err);
284 __put_user_error(vl, &ctx->vl, err);
285 __put_user_error(flags, &ctx->flags, err);
287 err |= __copy_to_user(&ctx->__reserved, reserved, sizeof(reserved));
295 err |= __copy_to_user((char __user *)ctx + SVE_SIG_REGS_OFFSET,
300 return err ? -EFAULT : 0;
305 int err = 0;
313 __get_user_error(user_vl, &(user->sve->vl), err);
314 __get_user_error(flags, &(user->sve->flags), err);
315 if (err)
316 return err;
366 err = __copy_from_user(current->thread.sve_state,
370 if (err)
382 err = __copy_from_user(fpsimd.vregs, user->fpsimd->vregs,
384 __get_user_error(fpsimd.fpsr, &user->fpsimd->fpsr, err);
385 __get_user_error(fpsimd.fpcr, &user->fpsimd->fpcr, err);
388 if (!err)
391 return err ? -EFAULT : 0;
411 int err = 0;
415 __put_user_error(TPIDR2_MAGIC, &ctx->head.magic, err);
416 __put_user_error(sizeof(*ctx), &ctx->head.size, err);
417 __put_user_error(current->thread.tpidr2_el0, &ctx->tpidr2, err);
419 return err;
425 int err = 0;
430 __get_user_error(tpidr2_el0, &user->tpidr2->tpidr2, err);
431 if (!err)
434 return err;
439 int err = 0;
451 __put_user_error(ZA_MAGIC, &ctx->head.magic, err);
453 &ctx->head.size, err);
454 __put_user_error(vl, &ctx->vl, err);
456 err |= __copy_to_user(&ctx->__reserved, reserved, sizeof(reserved));
464 err |= __copy_to_user((char __user *)ctx + ZA_SIG_REGS_OFFSET,
469 return err ? -EFAULT : 0;
474 int err = 0;
481 __get_user_error(user_vl, &(user->za->vl), err);
482 if (err)
483 return err;
515 err = __copy_from_user(current->thread.sme_state,
519 if (err)
530 int err = 0;
538 __put_user_error(ZT_MAGIC, &ctx->head.magic, err);
540 &ctx->head.size, err);
541 __put_user_error(1, &ctx->nregs, err);
543 err |= __copy_to_user(&ctx->__reserved, reserved, sizeof(reserved));
550 err |= __copy_to_user((char __user *)ctx + ZT_SIG_REGS_OFFSET,
554 return err ? -EFAULT : 0;
559 int err;
585 err = __copy_from_user(thread_zt_state(&current->thread),
589 if (err)
629 int err = 0;
645 __get_user_error(magic, &head->magic, err);
646 __get_user_error(size, &head->size, err);
647 if (err)
648 return err;
741 __get_user_error(extra_datap, &extra->datap, err);
742 __get_user_error(extra_size, &extra->size, err);
743 if (err)
744 return err;
754 __get_user_error(end_magic, &end->magic, err);
755 __get_user_error(end_size, &end->size, err);
756 if (err)
757 return err;
815 int i, err;
818 err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set));
819 if (err == 0)
824 err);
825 __get_user_error(regs->sp, &sf->uc.uc_mcontext.sp, err);
826 __get_user_error(regs->pc, &sf->uc.uc_mcontext.pc, err);
827 __get_user_error(regs->pstate, &sf->uc.uc_mcontext.pstate, err);
834 err |= !valid_user_regs(&regs->user_regs, current);
835 if (err == 0)
836 err = parse_user_sigframe(&user, sf);
838 if (err == 0 && system_supports_fpsimd()) {
843 err = restore_sve_fpsimd_context(&user);
845 err = restore_fpsimd_context(&user);
848 if (err == 0 && system_supports_tpidr2() && user.tpidr2)
849 err = restore_tpidr2_context(&user);
851 if (err == 0 && system_supports_fpmr() && user.fpmr)
852 err = restore_fpmr_context(&user);
854 if (err == 0 && system_supports_sme() && user.za)
855 err = restore_za_context(&user);
857 if (err == 0 && system_supports_sme2() && user.zt)
858 err = restore_zt_context(&user);
860 return err;
906 int err;
909 err = sigframe_alloc(user, &user->fpsimd_offset,
911 if (err)
912 return err;
917 err = sigframe_alloc(user, &user->esr_offset,
919 if (err)
920 return err;
936 err = sigframe_alloc(user, &user->sve_offset,
938 if (err)
939 return err;
943 err = sigframe_alloc(user, &user->tpidr2_offset,
945 if (err)
946 return err;
961 err = sigframe_alloc(user, &user->za_offset,
963 if (err)
964 return err;
969 err = sigframe_alloc(user, &user->zt_offset,
971 if (err)
972 return err;
977 err = sigframe_alloc(user, &user->fpmr_offset,
979 if (err)
980 return err;
989 int i, err = 0;
993 __put_user_error(regs->regs[29], &user->next_frame->fp, err);
994 __put_user_error(regs->regs[30], &user->next_frame->lr, err);
998 err);
999 __put_user_error(regs->sp, &sf->uc.uc_mcontext.sp, err);
1000 __put_user_error(regs->pc, &sf->uc.uc_mcontext.pc, err);
1001 __put_user_error(regs->pstate, &sf->uc.uc_mcontext.pstate, err);
1003 __put_user_error(current->thread.fault_address, &sf->uc.uc_mcontext.fault_address, err);
1005 err |= __copy_to_user(&sf->uc.uc_sigmask, set, sizeof(*set));
1007 if (err == 0 && system_supports_fpsimd()) {
1010 err |= preserve_fpsimd_context(fpsimd_ctx);
1014 if (err == 0 && user->esr_offset) {
1018 __put_user_error(ESR_MAGIC, &esr_ctx->head.magic, err);
1019 __put_user_error(sizeof(*esr_ctx), &esr_ctx->head.size, err);
1020 __put_user_error(current->thread.fault_code, &esr_ctx->esr, err);
1025 err == 0 && user->sve_offset) {
1028 err |= preserve_sve_context(sve_ctx);
1032 if (system_supports_tpidr2() && err == 0) {
1035 err |= preserve_tpidr2_context(tpidr2_ctx);
1039 if (system_supports_fpmr() && err == 0) {
1042 err |= preserve_fpmr_context(fpmr_ctx);
1046 if (system_supports_sme() && err == 0 && user->za_offset) {
1049 err |= preserve_za_context(za_ctx);
1053 if (system_supports_sme2() && err == 0 && user->zt_offset) {
1056 err |= preserve_zt_context(zt_ctx);
1059 if (err == 0 && user->extra_offset) {
1083 __put_user_error(EXTRA_MAGIC, &extra->head.magic, err);
1084 __put_user_error(EXTRA_CONTEXT_SIZE, &extra->head.size, err);
1085 __put_user_error(extra_datap, &extra->datap, err);
1086 __put_user_error(extra_size, &extra->size, err);
1089 __put_user_error(0, &end->magic, err);
1090 __put_user_error(0, &end->size, err);
1094 if (err == 0) {
1098 __put_user_error(0, &end->magic, err);
1099 __put_user_error(0, &end->size, err);
1102 return err;
1109 int err;
1112 err = setup_sigframe_layout(user, false);
1113 if (err)
1114 return err;
1194 int err = 0;
1203 __put_user_error(0, &frame->uc.uc_flags, err);
1204 __put_user_error(NULL, &frame->uc.uc_link, err);
1206 err |= __save_altstack(&frame->uc.uc_stack, regs->sp);
1207 err |= setup_sigframe(&user, regs, set);
1208 if (err == 0) {
1211 err |= copy_siginfo_to_user(&frame->info, &ksig->info);
1217 return err;