aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/xenoprof.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-08-10 09:51:01 +0200
committerJan Beulich <jbeulich@suse.com>2012-08-10 09:51:01 +0200
commit700a91d3c162f0af6190e7cb732d85ee2a981550 (patch)
tree551c2344e8206dd6cce59617a69c8e0405a250b9 /xen/common/xenoprof.c
parent86485a8e3878a5226c5ce14039f989e85b356766 (diff)
downloadxen-700a91d3c162f0af6190e7cb732d85ee2a981550.tar.gz
xen-700a91d3c162f0af6190e7cb732d85ee2a981550.tar.bz2
xen-700a91d3c162f0af6190e7cb732d85ee2a981550.zip
make all (native) hypercalls consistently have "long" return type
for common and x86 ones at least, to address the problem of storing zero-extended values into the multicall result field otherwise. Reported-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/xenoprof.c')
-rw-r--r--xen/common/xenoprof.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xen/common/xenoprof.c b/xen/common/xenoprof.c
index e571fea829..44a1fae858 100644
--- a/xen/common/xenoprof.c
+++ b/xen/common/xenoprof.c
@@ -607,6 +607,8 @@ static int xenoprof_op_init(XEN_GUEST_HANDLE(void) arg)
return (copy_to_guest(arg, &xenoprof_init, 1) ? -EFAULT : 0);
}
+#define ret_t long
+
#endif /* !COMPAT */
static int xenoprof_op_get_buffer(XEN_GUEST_HANDLE(void) arg)
@@ -660,7 +662,7 @@ static int xenoprof_op_get_buffer(XEN_GUEST_HANDLE(void) arg)
|| (op == XENOPROF_disable_virq) \
|| (op == XENOPROF_get_buffer))
-int do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg)
+ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg)
{
int ret = 0;
@@ -904,6 +906,7 @@ int do_xenoprof_op(int op, XEN_GUEST_HANDLE(void) arg)
}
#if defined(CONFIG_COMPAT) && !defined(COMPAT)
+#undef ret_t
#include "compat/xenoprof.c"
#endif