aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/x86_64
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-06-13 13:48:13 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-06-13 13:48:13 +0100
commita01be666f18b2b2c0f423199db8afc503d52ab78 (patch)
tree0a8a03689540376afd0dae515de0a9cb50b7ec1a /xen/include/asm-x86/x86_64
parent6c6d249dd5cbaecc415c2c9e2831201c4793ecc2 (diff)
downloadxen-a01be666f18b2b2c0f423199db8afc503d52ab78.tar.gz
xen-a01be666f18b2b2c0f423199db8afc503d52ab78.tar.bz2
xen-a01be666f18b2b2c0f423199db8afc503d52ab78.zip
32-on-64: Fix is_compat_arg_xlat_range().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/asm-x86/x86_64')
-rw-r--r--xen/include/asm-x86/x86_64/uaccess.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/include/asm-x86/x86_64/uaccess.h b/xen/include/asm-x86/x86_64/uaccess.h
index 2450af21e3..2080be86b1 100644
--- a/xen/include/asm-x86/x86_64/uaccess.h
+++ b/xen/include/asm-x86/x86_64/uaccess.h
@@ -7,7 +7,8 @@ DECLARE_PER_CPU(char, compat_arg_xlat[COMPAT_ARG_XLAT_SIZE]);
#define is_compat_arg_xlat_range(addr, size) ({ \
unsigned long __off; \
__off = (unsigned long)(addr) - (unsigned long)COMPAT_ARG_XLAT_VIRT_BASE; \
- (__off | (__off + (unsigned long)(size))) <= PAGE_SIZE; \
+ (__off <= COMPAT_ARG_XLAT_SIZE) && \
+ ((__off + (unsigned long)(size)) <= COMPAT_ARG_XLAT_SIZE); \
})
/*