[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tools/libs/evtchn: fix locking in Mini-OS



On Mon, Dec 11, 2023 at 08:10:17AM +0100, Juergen Gross wrote:
> When adding locking to tools/libs/evtchn/minios.c a semaphore was
> used. This can result in deadlocks, as the lock is taken inside the
> event handler, which can interrupt an already locked region.

Or maybe the issue was with xenevtchn_unbind() which calls
port_dealloc() which was also trying to get the mutex.

> The fix is rather simple, as Mini-OS is supporting a single vcpu
> only. So instead of the semaphore it is enough to disable interrupts
> when operating on the port list.

Semaphore implementation does that as well, so that's fine, and it works
recursively.

> Fixes: bc4fe94a69d4 ("ools/libs/evtchn: replace assert()s in stubdom with 
> proper locking")
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>


And osstest is happy with the patch:
http://logs.test-lab.xenproject.org/osstest/logs/184123/
> test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass
> test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass

So overall, patch looks fine to me:
Acked-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>

Thanks,

-- 
Anthony PERARD



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.