[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XEN PATCH] mismatch between pyxc_methods flags and PyObject definitions
On Tue, Mar 17, 2020 at 11:01:43PM +0000, YOUNG, MICHAEL A. wrote: > pygrub in xen-4.13.0 with python 3.8.2 fails with the error > > Traceback (most recent call last): > File "/usr/libexec/xen/bin/pygrub", line 21, in <module> > import xen.lowlevel.xc > SystemError: bad call flags > > This patch fixes mismatches in tools/python/xen/lowlevel/xc/xc.c > between the flag bits defined in pyxc_methods and the parameters passed > to the corresponding PyObject definitions. > > With this patch applied pygrub works as expected. > > Signed-off-by: Michael Young <m.a.young@xxxxxxxxxxxx> This looks like a change in Python 3.7 (according to the documentation, might not be enforced there yet). Python <= 3.6 allowed METH_KEYWORDS used alone. Fortunately, all the versions supports METH_VARARGS | METH_KEYWORDS, which looks to be equivalent to old METH_KEYWORDS alone. Acked-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx> > --- > tools/python/xen/lowlevel/xc/xc.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/tools/python/xen/lowlevel/xc/xc.c > b/tools/python/xen/lowlevel/xc/xc.c > index ac0e26a742..8fde5f311f 100644 > --- a/tools/python/xen/lowlevel/xc/xc.c > +++ b/tools/python/xen/lowlevel/xc/xc.c > @@ -2028,7 +2028,7 @@ static PyMethodDef pyxc_methods[] = { > > { "gnttab_hvm_seed", > (PyCFunction)pyxc_gnttab_hvm_seed, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Initialise HVM guest grant table.\n" > " dom [int]: Identifier of domain to build into.\n" > " console_gmfn [int]: \n" > @@ -2097,7 +2097,7 @@ static PyMethodDef pyxc_methods[] = { > > { "sched_credit_domain_set", > (PyCFunction)pyxc_sched_credit_domain_set, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Set the scheduling parameters for a domain when running with the\n" > "SMP credit scheduler.\n" > " domid [int]: domain id to set\n" > @@ -2115,7 +2115,7 @@ static PyMethodDef pyxc_methods[] = { > > { "sched_credit2_domain_set", > (PyCFunction)pyxc_sched_credit2_domain_set, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Set the scheduling parameters for a domain when running with the\n" > "SMP credit2 scheduler.\n" > " domid [int]: domain id to set\n" > @@ -2393,21 +2393,21 @@ static PyMethodDef pyxc_methods[] = { > > { "flask_context_to_sid", > (PyCFunction)pyflask_context_to_sid, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Convert a context string to a dynamic SID.\n" > " context [str]: String specifying context to be converted\n" > "Returns: [int]: Numeric SID on success; -1 on error.\n" }, > > { "flask_sid_to_context", > (PyCFunction)pyflask_sid_to_context, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Convert a dynamic SID to context string.\n" > " context [int]: SID to be converted\n" > "Returns: [str]: Numeric SID on success; -1 on error.\n" }, > > { "flask_load", > (PyCFunction)pyflask_load, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Loads a policy into the hypervisor.\n" > " policy [str]: policy to be load\n" > "Returns: [int]: 0 on success; -1 on failure.\n" }, > @@ -2420,14 +2420,14 @@ static PyMethodDef pyxc_methods[] = { > > { "flask_setenforce", > (PyCFunction)pyflask_setenforce, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Modifies the current mode for the Flask XSM module.\n" > " mode [int]: mode to change to\n" > "Returns: [int]: 0 on success; -1 on failure.\n" }, > > { "flask_access", > (PyCFunction)pyflask_access, > - METH_KEYWORDS, "\n" > + METH_VARARGS | METH_KEYWORDS, "\n" > "Returns whether a source context has access to target context based > on \ > class and permissions requested.\n" > " scon [str]: source context\n" -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? Attachment:
signature.asc
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |