|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] libxc: fix xc_version by handling all kno
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1288178668 -3600
# Node ID 28a16074681582f1209c9077f870ccf44927133e
# Parent cd193fa265b88bf4ff891f03c9be0e12415e6778
libxc: fix xc_version by handling all known command types.
xend was crashing since 22289:ca4a781c8ae8 due to missing handling of
XENVER_commandline.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
tools/libxc/xc_private.c | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletion(-)
diff -r cd193fa265b8 -r 28a160746815 tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c Tue Oct 26 12:22:52 2010 +0100
+++ b/tools/libxc/xc_private.c Wed Oct 27 12:24:28 2010 +0100
@@ -447,11 +447,14 @@ int xc_version(xc_interface *xch, int cm
int xc_version(xc_interface *xch, int cmd, void *arg)
{
DECLARE_HYPERCALL_BOUNCE(arg, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT); /* Size
unknown until cmd decoded */
- size_t sz = 0;
+ size_t sz;
int rc;
switch ( cmd )
{
+ case XENVER_version:
+ sz = 0;
+ break;
case XENVER_extraversion:
sz = sizeof(xen_extraversion_t);
break;
@@ -467,6 +470,21 @@ int xc_version(xc_interface *xch, int cm
case XENVER_platform_parameters:
sz = sizeof(xen_platform_parameters_t);
break;
+ case XENVER_get_features:
+ sz = sizeof(xen_feature_info_t);
+ break;
+ case XENVER_pagesize:
+ sz = 0;
+ break;
+ case XENVER_guest_handle:
+ sz = sizeof(xen_domain_handle_t);
+ break;
+ case XENVER_commandline:
+ sz = sizeof(xen_commandline_t);
+ break;
+ default:
+ ERROR("xc_version: unknown command %d\n", cmd);
+ return -EINVAL;
}
HYPERCALL_BOUNCE_SET_SIZE(arg, sz);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] libxc: fix xc_version by handling all known command types.,
Xen patchbot-unstable <=
|
|
|
|
|