]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu
authorHalil Pasic <pasic@linux.ibm.com>
Tue, 19 Oct 2021 17:54:00 +0000 (19:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Nov 2021 18:46:15 +0000 (19:46 +0100)
commit824636ca5cb0f376851b55a808e6730617c5a2b6
tree00b6050bdb3b82dec10ed046a8a816cc2101a3bd
parent667b0f6abbf496b31976e49d9c87b0013e6fe1f2
KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu

[ Upstream commit 0e9ff65f455dfd0a8aea5e7843678ab6fe097e21 ]

Changing the deliverable mask in __airqs_kick_single_vcpu() is a bug. If
one idle vcpu can't take the interrupts we want to deliver, we should
look for another vcpu that can, instead of saying that we don't want
to deliver these interrupts by clearing the bits from the
deliverable_mask.

Fixes: 75f03462c1e8 ("KVM: s390: add gib_alert_irq_handler()")
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Michael Mueller <mimu@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20211019175401.3757927-3-pasic@linux.ibm.com
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kvm/interrupt.c