From: Wei Liu Date: Thu, 28 Sep 2017 09:34:55 +0000 (+0100) Subject: x86/hvm/dmop: fix EFAULT condition X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~1315 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1c2ea5ee05f6a046c458e5a0babbd72234b2526d;p=xen.git x86/hvm/dmop: fix EFAULT condition The copy macro returns false when the copy fails. Signed-off-by: Wei Liu Reviewed-by: Paul Durrant Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c index 87ef4b6ca9..9cf53b551c 100644 --- a/xen/arch/x86/hvm/dm.c +++ b/xen/arch/x86/hvm/dm.c @@ -178,11 +178,9 @@ static int modified_memory(struct domain *d, struct xen_dm_op_modified_memory_extent extent; unsigned int batch_nr; xen_pfn_t pfn, end_pfn; - int rc; - rc = COPY_FROM_GUEST_BUF_OFFSET(extent, - bufs, EXTENTS_BUFFER, (*rem_extents - 1) * sizeof(extent)); - if ( rc ) + if ( !COPY_FROM_GUEST_BUF_OFFSET(extent, bufs, EXTENTS_BUFFER, + (*rem_extents - 1) * sizeof(extent)) ) return -EFAULT; if ( extent.pad )