[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 09/12] x86/shadow: Rework write_atomic() call in shadow_write_entries()


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • Date: Fri, 20 Feb 2026 23:28:22 +0100
  • Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1771626502; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=zZn5QYlNeJIrV89Vh+0VBlA03d/Zh8ZaSlffBESY800=; b=LSsOboDPP69AEAsZ39HPOcBKbR+qfhFELXJlf+coHChJR2OJYj14ERDXfHFqh9f8BB5k TllRMJrLRUvoj3jxpFA0M9/EtlkPsD5xtuZwOKcNWVahRrsqKRqYoPsR8ZurC5+Xlvji3 KovcsF1fxi0302erofuskgIWiSq3gjb8H3F4tWIT1y14JSlg7wfaCt/SiatLMLf9gUy0G 9adrJdg9HmeokrLrns/YjO1QTBfX5vbOz30tIsj/rlnkWcA1KmchsoLoqT1Lv9OwSqZsm LWZTBC1Z8Kamy0mjVJNpefBAm+bNqaLHFfH/DazRvIlunqHQ2uL3jvUXgrloen9C6rTzD N3rokAZ9t3X9rMfbhdRY96q1jgYkM3iLrNM/Iq2+D7czOT1sFS0kDhXAFOMVDXtGmLwO9 ODzIxbHFC1jw4UPVQ/lzAxDZTeZK/1oF/adqZahyMNk+kFkEn9cPQu8szHlsD+TZkDqtB xwjP/nWjgr1GTQXQoPi8Iv2DwZWuQ/IRxperV6opyGOg9D6wE9cR/B1KnVNnlqT5o8/Gg Kpyr5gj2lqvJzAdZm1pfvxPrHHpO7nnqVME1Jq/zidZsMiQUISkww0N0rYpTz5ojoyNTz iK6Rd5n11XWoigWRMOlz3yaIjbBHOiRlNcxPZbTEfPPmy2bgokY+c1xPwbPOy90=
  • Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1771626502; b=k2drEl+33ibwTdFLxCHf8ZfXf5FLxkevHpKPReJQAyfxttFSx11n4iRZTMzqirYwfHb0 wMo0Mv7iPG1Nd09Cryag94v1JyOztQ+By61oH5GW/68A/u3Zrm8jPefPUDw2d1NZCBEax a/z1Dpo5K4xT3gYoqbXt/XamkaS3i389QIBIRcmEOeAx0KxYGfNwAVdRSwD0CST1oz21V 7An2S5HZJL5sFiuhoLR/lZ/rrlCptklDtgVwfEK6o5tJCraBct1qwLNYHRWBPS4rl5qMz 7J66Rr4vbebANbchqz+aiObp3Hie1mLlG7rCuJbXaXDhjiBqO1fUXX5CesJYWxINVLjxY JLr8nNpWHEgR3RVaHu6qygzi/fja2g1gDKMpD2rD3GZdeVm1Q58+VO6rV4rrtgTPRH0Ck 5oRXiJ7KJqMHJ10afbYEQt71tKN+EY40jgrrV/e3+0ONHRoiYQN0Xstybz6OZcFFKbXgb IQX6196lOXi8sh9c/NNw1cIZEAF2tVuoikFjaIQs2Gx1K0CKaLL72cTYEuFORFekX/cLt wJCYMWL0YEzB/Dt5hPKUyktOKdRToWT+DKt3rFprbfPdcZON62AysLi84DFUdMA2BJTCJ j5YqqtkCI6z6+K1ZFKSw0r5JX4/LY0Y4V4OEK1Qb8aY4jN3E4gtG2KxuFftDc9o=
  • Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, "consulting @ bugseng . com" <consulting@xxxxxxxxxxx>
  • Delivery-date: Fri, 20 Feb 2026 22:28:31 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2026-02-20 22:46, Andrew Cooper wrote:
Eclair complains of a side effect in a sizeof() expression (R13.6).

write_atomic() only evaluates each parameter once, but rewrite the expression
to less resemble entries in an obfuscation contest.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>

---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Julien Grall <julien@xxxxxxx>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
CC: Bertrand Marquis <bertrand.marquis@xxxxxxx>
CC: Michal Orzel <michal.orzel@xxxxxxx>
CC: consulting@xxxxxxxxxxx <consulting@xxxxxxxxxxx>
CC: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
---
 xen/arch/x86/mm/shadow/set.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/set.c b/xen/arch/x86/mm/shadow/set.c
index 8b670b6bb555..96ba2811077e 100644
--- a/xen/arch/x86/mm/shadow/set.c
+++ b/xen/arch/x86/mm/shadow/set.c
@@ -62,8 +62,8 @@ shadow_write_entries(void *d, const void *s, unsigned int entries, mfn_t mfn)

     ASSERT(IS_ALIGNED((unsigned long)dst, sizeof(*dst)));

-    for ( ; i < entries; i++ )
-        write_atomic(&dst++->l1, src++->l1);
+    for ( ; i < entries; i++, dst++, src++ )
+        write_atomic(&dst->l1, src->l1);

     unmap_domain_page(map);
 }

--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.