Jan Beulich
2012-Dec-06 12:59 UTC
[PATCH] x86: properly fail mmuext ops when get_page_from_gfn() fails
I noticed this inconsistency while analyzing the code for XSA-32.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -2776,7 +2776,7 @@ long do_mmuext_op(
page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC);
if ( unlikely(!page) )
{
- rc = -EINVAL;
+ okay = 0;
break;
}
@@ -2836,6 +2836,7 @@ long do_mmuext_op(
page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC);
if ( unlikely(!page) )
{
+ okay = 0;
MEM_LOG("Mfn %lx bad domain", op.arg1.mfn);
break;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Keir Fraser
2012-Dec-06 15:55 UTC
Re: [PATCH] x86: properly fail mmuext ops when get_page_from_gfn() fails
On 06/12/2012 12:59, "Jan Beulich" <JBeulich@suse.com> wrote:> I noticed this inconsistency while analyzing the code for XSA-32. > > Signed-off-by: Jan Beulich <jbeulich@suse.com>Acked-by: Keir Fraser <keir@xen.org>> --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -2776,7 +2776,7 @@ long do_mmuext_op( > page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC); > if ( unlikely(!page) ) > { > - rc = -EINVAL; > + okay = 0; > break; > } > > @@ -2836,6 +2836,7 @@ long do_mmuext_op( > page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC); > if ( unlikely(!page) ) > { > + okay = 0; > MEM_LOG("Mfn %lx bad domain", op.arg1.mfn); > break; > } > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel