[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] gnttab_setup_table error case
On Wed, 2008-07-30 at 14:17 +0100, Diego Ongaro wrote: > gnttab_setup_table should set an error status code if the gmfn it gets > for a grant table page is invalid. > > I ran into this issue when I tried to set up the grant table during hvm > domain creation, and it caused a BUG_ON later down the line. With this > patch, the hypercall will gracefully fail instead. Do you use 32bit guest on top of 64bit hypervisor? In that case op.frame_list has different size in the hypervisor and the guest, and the BUG_ON is probably triggered because of the hypervisor ruining the stack. Just curious, but why we want to call setup_table in HVM in the first place. Since HVM has its isolated address space, it will always fail. It seems that setup_table is added to HVM because of this: http://lists.xensource.com/archives/html/xen-devel/2008-03/msg00927.html At that time, calling setup_table is a guest bug and I think it's already fixed by removing that call. So, can we: 1. let setup_table return -ENOSYS again in HVM? or 2. call something like compat_grant_table_op instead in 32/64? or 2. add a stub in hvm_grant_table_op so that it doesn't bother calling {do,compat}_grant_table_op at all? Thanks, Qing > > Signed-off-by: Diego Ongaro <diego.ongaro@xxxxxxxxxx> > --- > diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c > --- a/xen/common/grant_table.c > +++ b/xen/common/grant_table.c > @@ -913,8 +913,15 @@ gnttab_setup_table( > op.status = GNTST_okay; > for ( i = 0; i < op.nr_frames; i++ ) > { > gmfn = gnttab_shared_gmfn(d, d->grant_table, i); > + if ( gmfn == -1 ) > + { > + gdprintk(XENLOG_INFO, > + "grant table gmfn unavailable\n"); > + op.status = GNTST_general_error; > + goto out3; > + } > (void)copy_to_guest_offset(op.frame_list, i, &gmfn, 1); > } > > out3: > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |