]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ARM: 8793/1: signal: replace __put_user_error with __put_user
authorJulien Thierry <julien.thierry@arm.com>
Thu, 14 Feb 2019 02:10:10 +0000 (21:10 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Feb 2019 09:20:45 +0000 (10:20 +0100)
Commit 18ea66bd6e7a95bdc598223d72757190916af28b upstream.

With Spectre-v1.1 mitigations, __put_user_error is pointless. In an attempt
to remove it, replace its references in frame setups with __put_user.

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David A. Long <dave.long@linaro.org>
Reviewed-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/kernel/signal.c

index 1eb83ee7e1cc79e50fd9a2de2a265c452445ea86..02e6b6dfffa7eda25e832e1b977b549d670ee02d 100644 (file)
@@ -344,7 +344,7 @@ setup_sigframe(struct sigframe __user *sf, struct pt_regs *regs, sigset_t *set)
        if (err == 0)
                err |= preserve_vfp_context(&aux->vfp);
 #endif
-       __put_user_error(0, &aux->end_magic, err);
+       err |= __put_user(0, &aux->end_magic);
 
        return err;
 }
@@ -476,7 +476,7 @@ setup_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
        /*
         * Set uc.uc_flags to a value which sc.trap_no would never have.
         */
-       __put_user_error(0x5ac3c35a, &frame->uc.uc_flags, err);
+       err = __put_user(0x5ac3c35a, &frame->uc.uc_flags);
 
        err |= setup_sigframe(frame, regs, set);
        if (err == 0)
@@ -496,8 +496,8 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
 
        err |= copy_siginfo_to_user(&frame->info, &ksig->info);
 
-       __put_user_error(0, &frame->sig.uc.uc_flags, err);
-       __put_user_error(NULL, &frame->sig.uc.uc_link, err);
+       err |= __put_user(0, &frame->sig.uc.uc_flags);
+       err |= __put_user(NULL, &frame->sig.uc.uc_link);
 
        err |= __save_altstack(&frame->sig.uc.uc_stack, regs->ARM_sp);
        err |= setup_sigframe(&frame->sig, regs, set);