ARM: 9425/1: vfp: Use vfp_state_hold() in vfp_support_entry().
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 2 Oct 2024 16:18:11 +0000 (17:18 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 12 Nov 2024 16:42:30 +0000 (16:42 +0000)
commit27035c23bad54ed552c6741210dd1c4fa50cb386
tree72f45b5dbbc8043f7ef55a680b9d750a294aab93
parentb54cdbad4a39bb3abc85ac151f4882b3d92c5d79
ARM: 9425/1: vfp: Use vfp_state_hold() in vfp_support_entry().

vfp_entry() is invoked from exception handler and is fully preemptible.
It uses local_bh_disable() to remain uninterrupted while checking the
VFP state.
This is not working on PREEMPT_RT because local_bh_disable()
synchronizes the relevant section but the context remains fully
preemptible.

Use vfp_state_hold() for uninterrupted access.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/vfp/vfpmodule.c