Oh, good spot. My overlook when moving unlock before that snippet.
It doesn't occur in our stress test, and my rough feeling is to observe
such warning once per months. Thanks for finding it. :-)
Thanks,
Kevin
>From: Gianluca Guida
>Sent: 2008年2月19日 8:28
>
>Hello,
>
>The fast emulation path patch introduced a bug when we have an event
>injection during a write to a pagetable: after removing shadows we
>still jump to the done label, releasing the lock even if we aren't
>grabbing it.
>
>Inline patch fixes this.
>
>Signed-off-by: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx>
>
>diff -r 8848d9e07584 xen/arch/x86/mm/shadow/multi.c
>--- a/xen/arch/x86/mm/shadow/multi.c Mon Feb 18 21:26:57 2008 +0000
>+++ b/xen/arch/x86/mm/shadow/multi.c Tue Feb 19 00:20:00 2008 +0000
>@@ -3020,7 +3020,7 @@ static int sh_page_fault(struct vcpu *v,
> "injection: cr2=%#lx, mfn=%#lx\n",
> va, mfn_x(gmfn));
> sh_remove_shadows(v, gmfn, 0 /* thorough */, 1 /*
>must succeed */);
>- goto done;
>+ return EXCRET_fault_fixed;
> }
> }
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|