Re: [PATCH] kvm/vfio: Fix potential deadlock on vfio group_lock

From: Anthony Krowiak
Date: Tue Jan 31 2023 - 09:46:47 EST



On 1/31/23 9:34 AM, Jason Gunthorpe wrote:
On Tue, Jan 31, 2023 at 09:27:54AM -0500, Anthony Krowiak wrote:
I encountered a lockdep splat while running some regression tests today (see
below). I suspected it might be this patch so I reverted it, rebuilt the
kernel and ran the regression tests again; this time, the test ran cleanly.
It looks like this patch may not have fixed the problem for which it was
intended. Here is the relevant dmesg output:
Well, it fixes the deadlock it intended to fix and created another one
:)

It means device drivers cannot obtain the kvm lock from their open
functions in this new model.

Why does ap need to touch kvm->lock? (via get_update_locks_for_kvm)


We need the kvm->lock because we take the vCPUs out of SIE in order to dynamically change values in the APCB.



Maybe you should split that lock and have a dedicated apcb lock?


I don't think that would suffice for taking the vCPUs out of SIE.



Jason