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

Re: [PATCH 5/5] x86: Fix missing brackets in macros


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • Date: Thu, 11 Dec 2025 10:15:03 +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=1765444503; h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To: References:Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=91SbIRJN2zsGRMjeRO8zf/beDLNZG1ESzx60jkLvZdM=; b=qsXEcbpizrD94+Q+NMnZA9oyJZbdceXjJqYQGO9Q6hgy2d6GmxjEagIQ0Ni1ksq0+YdD kmm5PRdBH9kRiwmV3BmxILs8NyOjQ+sybR48v6NYeKzJeUYK/mI9e14V64vhOMndTiM1D gGPliAn3q3ySmDAfLoUBjogKbEqtOrXdXhX4n9JubZEo0ph8qmFOMS9qHVhPsZID1JPiD upSuaE7uZ8EWnzLAnKsrswq0HHF+VaVSYmjDTg0HBr2FyAaX5nmh+l2Y6L9UrebZ90mvf 2iOgJg9ohEXkBnt7bJwa1SdiK2kuWyJoB4SEAZpgTwmHYyZyW1qfzCvn0LYbK5jeLiZLe 0/YM1Q1Xh7/Q7p8AnvURDnr9tleyIQrrAhdNCTvVUkdL6sFzRWFTKhN1rE0tGddnshaTg 9xRtO2vFup6a0TtDnL8QncyOoinvGu42q/dLsYExf1kqwqIug6GaYOuWUtvNI+2JQ1ZnC KEzKTHOhYB+njsB9lAHYl4GooR0t6M1QdBwBzteYIoXTWp4YqYNptMLcWt/Uwq3pu8UWj Lx7B8NyVRrwxKLA8wKEsfIvoevSHjnbXqQtRtIZ3oJu6spR1KkWBtpgMTL4TiY/HEsEOz FnTS7yOp/AsyU/V7x+GxfAalTIsfbUEXUepUvNl+EWEqizX9PgUFUqZd2kwnv6A=
  • Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1765444503; b=Z1lXcRuZ3mmYHNzE9qzZ1XjCPsAABUrae+oXjKkDCy7yZODCBNc6k7SUiUmq4RTWXvG3 3SeYxWDvtDXqh27sA+ROwE//ts8cmSyEOK+NZ88L75XDkDvqBHdenvvBMRxDh+vp6FsgW 8dKeNFgVgk7qPSzleq+8m3vsMitFeXGI7ggLap82GGs/W5y/9CWcNCCqdW3xPJVAc02vb U1Gl9Qw2J4vOAzF+GNcMA4/+/GKhM1VpLX+qqajfED35I7nW0G/9qqtsM8GjZkp5GdILb LUJpFOO+UuS7DaTZ8zm5moeWJfg3tbQaxW8b3AnqhvPGxrVL4ImchTfgDRlGeVc5+0WY5 EtPJL97Pm5+BZ67HGycTFZyM8p0p07I5YTSrlQ7gXPLRBDkLXpjTGdggUxNxM8tdXxhvz ml69cXWDWa9YwrDGmUd8/LFgM+v4wgI/Zek2Wo77HO/dtb8t7rPOnUU/SxdaEzeyrZU+D 03w17HL+i/7xIymy7zHqWs+MvFve6hyymHDJFrQffUr7lkVTivkK84tnlP8ggI457LKe0 eFUVYk2CnIVwzbKcMFXa8IIHjVFhp7KB3xvO5ROk9mOGB0trFkJQ6IRmR9aVBH151Lrct FupT+v2hIJ1kSr4h3XZM5M/+OF5JVn7YwCRoM33Kk5+LKr5CV/5ZgjZ1JlLvjYk=
  • Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "consulting @ bugseng . com" <consulting@xxxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 11 Dec 2025 09:15:14 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-12-11 09:36, Jan Beulich wrote:
On 10.12.2025 19:30, Andrew Cooper wrote:
With the wider testing, some more violations have been spotted.  This
addresses violations of Rule 20.7 which requires macro parameters to be
bracketed.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: consulting@xxxxxxxxxxx <consulting@xxxxxxxxxxx>
CC: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
---
 xen/arch/x86/mm/shadow/multi.c     | 2 +-
 xen/arch/x86/mm/shadow/private.h   | 6 +++---
 xen/drivers/passthrough/vtd/dmar.h | 2 +-
 xen/include/xen/kexec.h            | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 03be61e225c0..36ee6554b4c4 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -781,7 +781,7 @@ do { \ (_sl1e) = _sp + _i; \ if ( shadow_l1e_get_flags(*(_sl1e)) & _PAGE_PRESENT ) \ {_code} \ - if ( _done ) break; \ + if ( (_done) ) break; \

I don't understand this: There are parentheses already from if() itself.


Yeah, syntactically there are, but those are parsed as part of the if, rather than its condition; the AST node contained within does not have parentheses around it.

--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -636,9 +636,9 @@ prev_pinned_shadow(struct page_info *page,
 }

 #define foreach_pinned_shadow(dom, pos, tmp)                    \
-    for ( pos = prev_pinned_shadow(NULL, (dom));                \
-          pos ? (tmp = prev_pinned_shadow(pos, (dom)), 1) : 0;  \
-          pos = tmp )
+    for ( (pos) = prev_pinned_shadow(NULL, dom);                \
+          (pos) ? (tmp = prev_pinned_shadow(pos, dom), 1) : 0;  \
+          (pos) = tmp )

What about tmp (twice)?

Jan

--
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®.