Commit f97fd45
irqchip/gic-v4: Fix ordering between vmapp and vpe locks
The recently established lock ordering mandates that the per-VM
vmapp_lock is acquired before taking the per-VPE lock.
As it turns out, its_vpe_set_affinity() takes the VPE lock, and
then calls into its_send_vmovp(), which itself takes the vmapp
lock. Obviously, this is a lock order violation.
As its_send_vmovp() is only called from its_vpe_set_affinity(),
hoist the vmapp locking from the former into the latter, restoring
the expected order.
Fixes: f0eb154 ("irqchip/gic-v4: Substitute vmovp_lock for a per-VM lock")
Reported-by: Zhou Wang <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Link: https://lore.kernel.org/all/[email protected]1 parent 4d936f1 commit f97fd45
1 file changed
+10
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1329 | 1329 | | |
1330 | 1330 | | |
1331 | 1331 | | |
1332 | | - | |
1333 | | - | |
1334 | | - | |
1335 | | - | |
1336 | | - | |
1337 | | - | |
1338 | 1332 | | |
1339 | 1333 | | |
1340 | 1334 | | |
| |||
3824 | 3818 | | |
3825 | 3819 | | |
3826 | 3820 | | |
| 3821 | + | |
| 3822 | + | |
| 3823 | + | |
| 3824 | + | |
3827 | 3825 | | |
| 3826 | + | |
| 3827 | + | |
| 3828 | + | |
3828 | 3829 | | |
3829 | 3830 | | |
3830 | 3831 | | |
| |||
3854 | 3855 | | |
3855 | 3856 | | |
3856 | 3857 | | |
| 3858 | + | |
| 3859 | + | |
| 3860 | + | |
3857 | 3861 | | |
3858 | 3862 | | |
3859 | 3863 | | |
| |||
0 commit comments