Skip to content

Commit e2dfb4b

Browse files
author
Russell King
committed
ARM: fix PTRACE_SETVFPREGS on SMP systems
PTRACE_SETVFPREGS fails to properly mark the VFP register set to be reloaded, because it undoes one of the effects of vfp_flush_hwstate(). Specifically vfp_flush_hwstate() sets thread->vfpstate.hard.cpu to an invalid CPU number, but vfp_set() overwrites this with the original CPU number, thereby rendering the hardware state as apparently "valid", even though the software state is more recent. Fix this by reverting the previous change. Cc: <[email protected]> Fixes: 8130b9d ("ARM: 7308/1: vfp: flush thread hwstate before copying ptrace registers") Acked-by: Will Deacon <[email protected]> Tested-by: Simon Marchi <[email protected]> Signed-off-by: Russell King <[email protected]>
1 parent ec953b7 commit e2dfb4b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/arm/kernel/ptrace.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,8 +733,8 @@ static int vfp_set(struct task_struct *target,
733733
if (ret)
734734
return ret;
735735

736-
vfp_flush_hwstate(thread);
737736
thread->vfpstate.hard = new_vfp;
737+
vfp_flush_hwstate(thread);
738738

739739
return 0;
740740
}

0 commit comments

Comments
 (0)