unsigned int sigret_magic;
 };
 
-static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
+static int save_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
 {
        int err = 0;
 #ifndef CONFIG_ISA_ARCOMPACT
 #else
        v2abi.r58 = v2abi.r59 = 0;
 #endif
-       err = __copy_to_user(&mctx->v2abi, &v2abi, sizeof(v2abi));
+       err = __copy_to_user(&mctx->v2abi, (void const *)&v2abi, sizeof(v2abi));
 #endif
        return err;
 }
 
-static int restore_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
+static int restore_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
 {
        int err = 0;
 #ifndef CONFIG_ISA_ARCOMPACT