ARM: 8810/1: vfp: Fix wrong assignement to ufp_exc
authorJulien Thierry <julien.thierry@arm.com>
Thu, 8 Nov 2018 16:25:28 +0000 (17:25 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Mon, 12 Nov 2018 10:51:01 +0000 (10:51 +0000)
In vfp_preserve_user_clear_hwstate, ufp_exc->fpinst2 gets assigned to
itself. It should actually be hwstate->fpinst2 that gets assigned to the
ufp_exc field.

Fixes commit 3aa2df6ec2ca6bc143a65351cca4266d03a8bc41 ("ARM: 8791/1:
vfp: use __copy_to_user() when saving VFP state").

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/vfp/vfpmodule.c

index 3b75f1d8a491abb9e27b0c60e6b75cf2a3d30434..15bc3cf2a7fdc5edbb09ad7caa43714992da008f 100644 (file)
@@ -579,7 +579,7 @@ int vfp_preserve_user_clear_hwstate(struct user_vfp *ufp,
         */
        ufp_exc->fpexc = hwstate->fpexc;
        ufp_exc->fpinst = hwstate->fpinst;
         */
        ufp_exc->fpexc = hwstate->fpexc;
        ufp_exc->fpinst = hwstate->fpinst;
-       ufp_exc->fpinst2 = ufp_exc->fpinst2;
+       ufp_exc->fpinst2 = hwstate->fpinst2;
 
        /* Ensure that VFP is disabled. */
        vfp_flush_hwstate(thread);
 
        /* Ensure that VFP is disabled. */
        vfp_flush_hwstate(thread);