On 11/13/20 7:00 PM, Halil Pasic wrote:
On Fri, 13 Nov 2020 16:30:31 -0500
Tony Krowiak <akrowiak@xxxxxxxxxxxxx> wrote:
We will be using the mutex_trylock() function in our sysfs
assignment
interfaces which make the call to the AP bus to check permissions (which
also
locks ap_perms). If the mutex_trylock() fails, we return from the assignment
function with -EBUSY. This should resolve that potential deadlock issue.
It resolves the deadlock issue only if in_use() is also doing
mutex_trylock(), but the if in_use doesn't take the lock it
needs to back off (and so does it's client code) i.e. a boolean as
return value won't do.
Makes sense. I'll change the in_use callback to return an int and use
mutex_trylock() for the vfio_ap_mdev_in_use() function. If the lock
can not be obtained, the function will return -EBUSY.
Regards,
Halil