[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] static-memory: Fix incorrect tot_size calculation
- To: Michal Orzel <michal.orzel@xxxxxxx>
- From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
- Date: Wed, 4 Feb 2026 13:06:09 +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=amd.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=yx9EDl3EQbdny2/YxZwDgCujrHswwdDqN94M6sskR3U=; b=eC6ITpX/BpPPMQp4FQiXteFdlqGv4GM6PVKienxCuV2LZOV44NoDlh5zCaMtaCLRADPojZq87bfxzt01JpkofNJHI4sIynYaYlEapQG28VS3GfyOLP+H9hs+B7pBNXjvtJINEPV4qccw3eSo5SRqnHHlFppe7AlbrzNiJhUF19mHVkXIgtvkGE/fnB9a/qZ8Sxh3ZSFHcaYBKOtiYxsuqEoRit9ChmSkriCos+qB7su4b0kpk9ss2vRYZZKKFKJLEfJzfW0MiV3HWYUsis5n1fFbFY9zPeI+5B5Gql/xEGQrJa6w2mLC1jlQ7Sv4uCiRnTmgzlrkNV/1kICnj7r8Qg==
- 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=yx9EDl3EQbdny2/YxZwDgCujrHswwdDqN94M6sskR3U=; b=erBXZvz8QniuuWDUzhFsQPHWzdkFoRM/dudgNz1Mgr+wwSygv783TYysXJ5uHwg5sNam5zOWZPUCGVnZk67rvzdTkDbkWSgwdjhpjd2YzcqgWzLK/XMDlvB9obUQKR15l0QRvTvuwKijJ00ZavHBV5/DdThoPnXZ8s3PyUs9F67GPD4qGB4HMopF+RPjn+vCeQ9aU0hjWN8PXOkttFoJeyYy8EZJvlBHHmWWbdypye2quPkwTBXbkL3oCl+mP8PteDqCWi40jWIGvUIvXtLAOhFUq3MNSVuamENySsz+irB8jeVoc9oN1KmEClBfr++QX7Tta12foz4GuS417xRvzA==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=vSq2NnEZKi6U56rKxGbRbIA/UNj2qR8nmLTAzi5r84BR6V7gPFaCTDK2hVPLof/93QgENRv/UKeevYs99D9udW9apZdHzIPJTaZRixa6sQ0uj18Pileg6SziowpfsV3m/SI88UE40IH0GzMv6rY94PITAiUn1+GxuxFpfMMteLJ4OwwgNOwl6NMGrJOrl272Akw5aI/cDat61Z9+s1RsXXMWd9oswFgqlTjuht3dLVZL1yyZNbMo5Bj7/z5VgY4Gr8OvnPCH958naDM8aBDbldt+yj5EkE1mQnk2aoDS3/QEWbjIZTn23vhcLvz2MOCIuPkGauVV5w3htmfu9JoP+Q==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A9quGk0msoQWoMnoRca8g3/n/nQYzmT2yDPn7aX5EiIAxOXQqyV4e+XRmjLjRFSJ+bxXmpMaefQeSdeMOHrlLNjHmM62v+oXM8OLs8jMBnlUZZ4PLwv6m2HKk+49HlE1mK6hSZrySFLThMc81rXpzu/1yvKiGLR1TtHxtZLh+AtQcmCcEvG2vDqxRgZ9IDyCpgOuJQ9L7tx5dqBjgD7XiWIXAs41kpUORhnk8FkHTtK7FEPcVM110NnVcEhnNsPns3Sp18DAm4IxJK5I8NOTbpcFiB8NGq8i900cbAesnTeTW4U7tSuqpn1q1lXQpUSU/f1skVuEGYbotdPlr6fq6Q==
- 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>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>
- Delivery-date: Wed, 04 Feb 2026 13:07:28 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHcldPH7zgIlcaC00G2LjzWWwPQfrVygloA
- Thread-topic: [PATCH] static-memory: Fix incorrect tot_size calculation
Hi Michal,
> On 4 Feb 2026, at 13:42, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>
> When a physical memory bank spans multiple guest RAM banks, the variable
> psize is modified inside the allocation loop, but the modified value
> (instead of the original bank size) is added to tot_size. This causes an
> incorrect total size calculation leading to false panic. Move the
> tot_size calculation right after acquire_static_memory_bank().
Looks good to me.
>
> Fixes: 487975df53b5 ("xen/arm: introduce allocate_static_memory")
> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
Cheers
Bertrand
> ---
> xen/common/device-tree/static-memory.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/xen/common/device-tree/static-memory.c
> b/xen/common/device-tree/static-memory.c
> index 0774d0680604..ffbc12aa24df 100644
> --- a/xen/common/device-tree/static-memory.c
> +++ b/xen/common/device-tree/static-memory.c
> @@ -118,6 +118,8 @@ void __init allocate_static_memory(struct domain *d,
> struct kernel_info *kinfo,
> if ( mfn_eq(smfn, INVALID_MFN) )
> goto fail;
>
> + tot_size += psize;
> +
> printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
> d, bank, pbase, pbase + psize);
>
> @@ -158,8 +160,6 @@ void __init allocate_static_memory(struct domain *d,
> struct kernel_info *kinfo,
> mem->bank[gbank].start = rambase[gbank];
> }
> }
> -
> - tot_size += psize;
> }
>
> mem->nr_banks = ++gbank;
> --
> 2.43.0
>
|