|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 14/14] libxl: Fix do_memory_op to return negative value on errors
instead of the -Exx values (which should go in errno).
This patch has HUGE implications. There is a lot of APIs
that are using do_memory_op. Fortunatly most of them
check for 'if (do_memory_op(..) < 0)' so will function
properly. However there were some which printed the return
value to the user. They have been fixed in:
libxl: Don't assign return value to errno for E820 get/set xc_ calls.
libxl: Check xc_sharing_* for proper return values.
libxl: Print xc_domain_decrease_reservation proper errno value.
libxl: If xc_domain_add_to_physmap fails, include errno value
libxl: Check xc_maximum_ram_page for negative return values.
libxl: Check xc_domain_maximum_gpfn for negative return values
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
---
tools/libxc/xc_private.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/libxc/xc_private.c b/tools/libxc/xc_private.c
index 394338a..45903e8 100644
--- a/tools/libxc/xc_private.c
+++ b/tools/libxc/xc_private.c
@@ -517,11 +517,12 @@ int do_memory_op(xc_interface *xch, int cmd, void *arg,
size_t len)
{
DECLARE_HYPERCALL;
DECLARE_HYPERCALL_BOUNCE(arg, len, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
- long ret = -EINVAL;
+ long ret = -1;
if ( xc_hypercall_bounce_pre(xch, arg) )
{
PERROR("Could not bounce memory for XENMEM hypercall");
+ errno = ENOMEM;
goto out1;
}
--
2.1.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |