NetBSD-Bugs archive

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

Re: port-xen/47057: Xen NetBSD DomU file system trash under Linux Dom0



On Thu, Oct 11, 2012 at 7:30 PM, Manuel Bouyer 
<bouyer%antioche.eu.org@localhost> wrote:
> The following reply was made to PR port-xen/47057; it has been noted by GNATS.
>
> From: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc: port-xen-maintainer%NetBSD.org@localhost, 
> gnats-admin%NetBSD.org@localhost,
>         netbsd-bugs%NetBSD.org@localhost
> Subject: Re: port-xen/47057: Xen NetBSD DomU file system trash under Linux
>  Dom0
> Date: Thu, 11 Oct 2012 19:28:51 +0200
>
>  On Thu, Oct 11, 2012 at 05:20:00PM +0000, royger%NetBSD.org@localhost wrote:
>  > >Fix:
>  > I'm not sure about this, but I think we have a problem with reentrancy of 
> the xen event channel callback (do_hypervisor_callback in 
> hypervisor_machdep.c), but I haven't been able to find a fix for this.
>
>
>  Can you expand on this ? AFAIK this code is safe.

I'm not sure, but I think we might have a problem when we call
intr_biglock_wrapper, this function takes the kernel_lock, but just
before calling it we call sti(), which allows further hypervisor
callbacks. Isn't it posible that another hypervisor callback
interrupts the execution of the handler, leaving the kernel_lock held
and thus locking the system when this new callback tries to execute a
handler?


Home | Main Index | Thread Index | Old Index