|
[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 |