Loading
irqchip/gic-v4: Fix ordering between vmapp and vpe locks
mainline inclusion from mainline-v6.11-rc7 commit f97fd458763a4801d04dbb4a79d9ca6282d293ec category: other bugzilla: https://gitee.com/openeuler/kernel/issues/IAVK49 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f97fd458763a4801d04dbb4a79d9ca6282d293ec ----------------------------------------------------------------- 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: f0eb154c39471 ("irqchip/gic-v4: Substitute vmovp_lock for a per-VM lock") Reported-by:Zhou Wang <wangzhou1@hisilicon.com> Signed-off-by:
Marc Zyngier <maz@kernel.org> Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20240818171625.3030584-1-maz@kernel.org Signed-off-by:
caijian <caijian11@h-partners.com>