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