diff options
author | Jan Beulich <jbeulich@suse.com> | 2012-08-10 09:51:01 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2012-08-10 09:51:01 +0200 |
commit | 700a91d3c162f0af6190e7cb732d85ee2a981550 (patch) | |
tree | 551c2344e8206dd6cce59617a69c8e0405a250b9 /xen/common/xenoprof.c | |
parent | 86485a8e3878a5226c5ce14039f989e85b356766 (diff) | |
download | xen-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.c | 5 |
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 |