From: Wei Liu Date: Thu, 28 Sep 2017 09:34:55 +0000 (+0100) Subject: x86/hvm/dmop: fix EFAULT condition X-Git-Tag: 4.10.0-rc1~227 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1c2ea5ee05f6a046c458e5a0babbd72234b2526d;p=people%2Fdariof%2Fxen.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 )