Message ID | 20211115121741.3719-5-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gnttab: fallout/improvements from max version | expand |
On 15/11/2021 12:17, Roger Pau Monne wrote: > Such max version should be provided by the caller, otherwise the > bindings will default to specifying a max version of 2, which is > inline with the current defaults in the hypervisor. > > Fixes: 7379f9e10a ('gnttab: allow setting max version per-domain') > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Roger Pau Monne writes ("[PATCH for-4.16 4/4] tools/python: fix python libxc bindings to pass a max grant version"): > Such max version should be provided by the caller, otherwise the > bindings will default to specifying a max version of 2, which is > inline with the current defaults in the hypervisor. > > Fixes: 7379f9e10a ('gnttab: allow setting max version per-domain') > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > --- > Cc: Ian Jackson <iwj@xenproject.org> > > Without this fix the python bindings won't be usable, as they will > attempt to pass a max version of 0 which will be refused by the > hypervisor. The main risk would be breaking the bindings, but given > the current state it's unlikely to result in a worse outcome. Release-Acked-by: Ian Jackson <iwj@xenproject.org>
Andrew Cooper writes ("Re: [PATCH for-4.16 4/4] tools/python: fix python libxc bindings to pass a max grant version"): > On 15/11/2021 12:17, Roger Pau Monne wrote: > > Such max version should be provided by the caller, otherwise the > > bindings will default to specifying a max version of 2, which is > > inline with the current defaults in the hypervisor. > > > > Fixes: 7379f9e10a ('gnttab: allow setting max version per-domain') > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> FTR Acked-by: Ian Jackson <iwj@xenproject.org>
On Mon, Nov 15, 2021 at 01:17:41PM +0100, Roger Pau Monne wrote: > Such max version should be provided by the caller, otherwise the > bindings will default to specifying a max version of 2, which is > inline with the current defaults in the hypervisor. > > Fixes: 7379f9e10a ('gnttab: allow setting max version per-domain') > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> > --- > Cc: Ian Jackson <iwj@xenproject.org> > > Without this fix the python bindings won't be usable, as they will > attempt to pass a max version of 0 which will be refused by the > hypervisor. The main risk would be breaking the bindings, but given > the current state it's unlikely to result in a worse outcome. > --- > tools/python/xen/lowlevel/xc/xc.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c > index 6293d205a3..fd00861032 100644 > --- a/tools/python/xen/lowlevel/xc/xc.c > +++ b/tools/python/xen/lowlevel/xc/xc.c > @@ -116,7 +116,7 @@ static PyObject *pyxc_domain_create(XcObject *self, > PyObject *args, > PyObject *kwds) > { > - uint32_t dom = 0, target = 0; > + uint32_t dom = 0, target = 0, max_grant_version = 2; > int ret; > size_t i; > PyObject *pyhandle = NULL; > @@ -132,12 +132,13 @@ static PyObject *pyxc_domain_create(XcObject *self, > }; > > static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", > - "target", "max_vcpus", NULL }; > + "target", "max_vcpus", "max_grant_version", > + NULL }; > > - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOiii", kwd_list, > + if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOiiii", kwd_list, > &dom, &config.ssidref, &pyhandle, > &config.flags, &target, > - &config.max_vcpus) ) > + &config.max_vcpus, &max_grant_version) ) > return NULL; > if ( pyhandle != NULL ) > { > @@ -162,6 +163,7 @@ static PyObject *pyxc_domain_create(XcObject *self, > #else > #error Architecture not supported > #endif > + config.grant_opts = XEN_DOMCTL_GRANT_version(max_grant_version); > > if ( (ret = xc_domain_create(self->xc_handle, &dom, &config)) < 0 ) > return pyxc_error_to_exception(self->xc_handle); > -- > 2.33.0 >
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c index 6293d205a3..fd00861032 100644 --- a/tools/python/xen/lowlevel/xc/xc.c +++ b/tools/python/xen/lowlevel/xc/xc.c @@ -116,7 +116,7 @@ static PyObject *pyxc_domain_create(XcObject *self, PyObject *args, PyObject *kwds) { - uint32_t dom = 0, target = 0; + uint32_t dom = 0, target = 0, max_grant_version = 2; int ret; size_t i; PyObject *pyhandle = NULL; @@ -132,12 +132,13 @@ static PyObject *pyxc_domain_create(XcObject *self, }; static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", - "target", "max_vcpus", NULL }; + "target", "max_vcpus", "max_grant_version", + NULL }; - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOiii", kwd_list, + if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOiiii", kwd_list, &dom, &config.ssidref, &pyhandle, &config.flags, &target, - &config.max_vcpus) ) + &config.max_vcpus, &max_grant_version) ) return NULL; if ( pyhandle != NULL ) { @@ -162,6 +163,7 @@ static PyObject *pyxc_domain_create(XcObject *self, #else #error Architecture not supported #endif + config.grant_opts = XEN_DOMCTL_GRANT_version(max_grant_version); if ( (ret = xc_domain_create(self->xc_handle, &dom, &config)) < 0 ) return pyxc_error_to_exception(self->xc_handle);
Such max version should be provided by the caller, otherwise the bindings will default to specifying a max version of 2, which is inline with the current defaults in the hypervisor. Fixes: 7379f9e10a ('gnttab: allow setting max version per-domain') Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Ian Jackson <iwj@xenproject.org> Without this fix the python bindings won't be usable, as they will attempt to pass a max version of 0 which will be refused by the hypervisor. The main risk would be breaking the bindings, but given the current state it's unlikely to result in a worse outcome. --- tools/python/xen/lowlevel/xc/xc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)