[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 01/11] xen: arm: fix len type for guest copy functions
- To: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
- From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
- Date: Wed, 29 Apr 2026 10:08:40 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yHB773K3ephjkbIyqrvDSSrnWJH8Cdj/TKx100kAPgM=; b=suk5JWpJfurVpDySSfIwuAt1/Tf+ZiZ30p7Q6ezrIa70+bQYUQk5oHTN+r30rsxyMsaUmQ9cgJWXPUvL+17lpnbnZf6QbsYk9k1RVioRf8SKxRz2VQ94QgBjpiRoIfa2CG17OtC0hWUHpSu/4ig6FawuLQfBUFMHdqykOBihJoB9wRvGp1+ODrqp1/Plp5zrigbXtcM8Cl0HpewqsLJ+qIF56Y5hl+Cti3RGbkWqKd+RjZbarSorJ3aZZCgd6IMxh2HWf5b+1/gg+kiUFmPSmKMWL7wc/e5GxP3O4x3t9aRt+iEpmfSi91eufe9396w4xrc2uAEvFUU7PUTCNUyWXw==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yHB773K3ephjkbIyqrvDSSrnWJH8Cdj/TKx100kAPgM=; b=awcfLXf6RoQzQyFzShYxfXPPOp4aO1HkU+G11ALT15fAbkMyzHU1/1AnA73bXV4YJUgiT3694KpTWQGT3vchGBTty1DRT6144pmDLUAd1/Aq9D4cJqn+breyE85FCvZ1D+PzYzrMvrI3sR2gs3MuMIXKNWLp/pnMdty/84zSYXTpUbDqv2CW/SHANTG8ioK9XmO8gyAQrkKCx/jXzS+bg44MK3wRTAWAcycVRpBVy/nn0m73IvuYYDRNG2G0c0k2nEKJHPPsLTPIxITqUCGQTbd5kKcJBZ/HGb+5nAJqyICs5pwSuAW9AWqffihMre+gINcgxFFLF6YhZ3f2+/78Ow==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=uXHauZPtbYR2Yd36vsF0oqUmVlS5V4QVzgK//UbiV61ZHW3VJa+e3yZ1MUgygbnOSQCh+nFi3BzAWdVJoOLn2+4FNtroHHMX2HKFSL2m2pfu6Wr1Foi7uExjwAfEL5TC6HCQWCU894mnNU9BNukHozjQBpOCQOBRe31nAbz6RXU2/gKBDwYeu41EMGVuB5ZeJWkDIKHyMjFAW+Kb16nxdrZ6MViSa7rVAkLcUMfZ/eyYJrxDXPhN/I8Qn5wc0gy7l0ISHvRpuU0D+H31JaJp7rnQ9z+yXASJBiMQO+tpR+s2QGafVDBOSc3mLQixgMxyKqyTH4iuKa9kCYBNC2iOcg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jJ1c6ioPhtVtYw8vIoheK6n6mw/dJsd9UvIJRaJzOdifRANk1WzhNlseqRMVMr+4+6vhBqR8IVyDG5NYvXIs6Xr7cJyNryugVN7QIS9qGwGWYNxSeJyM6fVhexEmpGPP4SixVMaEgd1UA3CWVdjTcEJcK6WDl1FJVe7jhe3RF3WzFpTpHFMt26OvjnT5NntwD5cADEVx7qYYVGykMY9UaK8iGrPIR1+6cNZc9bPr4RVxLxk5OU1RbZR7DET+iFdAQ9B48E3U/QyFVb6NIFVorQJDLW7RVlp2htVUFpI1Ur+Y1faziOnVftV8/YufBUqxBHxfua9pqj1/xlXStEmymg==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
- Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Romain Caritey <Romain.Caritey@xxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Delivery-date: Wed, 29 Apr 2026 10:09:55 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHc1xwXYYBcuLui0UypBKVcqnkF/bX10fCA
- Thread-topic: [PATCH v4 01/11] xen: arm: fix len type for guest copy functions
Hi Oleksii,
> xen/arch/arm/guestcopy.c | 6 +++---
> xen/arch/arm/include/asm/guest_access.h | 2 +-
> xen/include/xen/fdt-domain-build.h | 2 +-
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
> index fdb06422b8e9..86f1c9d0e318 100644
> --- a/xen/arch/arm/guestcopy.c
> +++ b/xen/arch/arm/guestcopy.c
> @@ -53,7 +53,7 @@ static struct page_info *translate_get_page(copy_info_t
> info, uint64_t addr,
> return page;
> }
>
> -static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
> +static unsigned long copy_guest(void *buf, uint64_t addr, unsigned long len,
> copy_info_t info, unsigned int flags)
> {
> /* XXX needs to handle faults */
> @@ -65,7 +65,7 @@ static unsigned long copy_guest(void *buf, uint64_t addr,
> unsigned int len,
> while ( len )
> {
> void *p;
> - unsigned int size = min(len, (unsigned int)PAGE_SIZE - offset);
> + unsigned long size = min(len, PAGE_SIZE + 0UL - offset);
> struct page_info *page;
>
> page = translate_get_page(info, addr, flags & COPY_linear,
> @@ -136,7 +136,7 @@ unsigned long raw_copy_from_guest(void *to, const void
> __user *from,
> unsigned long copy_to_guest_phys_flush_dcache(struct domain *d,
> paddr_t gpa,
> void *buf,
> - unsigned int len)
> + unsigned long len)
> {
Now that we do this, potentially we could have truncation in the places where
we store its return value
inside an int:
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/kernel.c;h=7544fd50a20f08b5ba31cad7b94925112fdee956;hb=refs/heads/staging#l131
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/device-tree/domain-build.c;h=c51520ebadf9950311f6c071e7e07042c7076a27;hb=refs/heads/staging#l442
Could you check and let me know if I’m correct or not?
Cheers,
Luca
|