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

Re: [PATCH 3/5] x86/shadow: conditionalize / rename local variables


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Fri, 22 May 2026 12:28:52 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • 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=txHzWCjSq5UHHy2rzvHtDkEJ9cKhg3LtUcdRkop9CD4=; b=OH+cdcauKaTFDEFA9j+ct9vdDed7UCpwX7NEfekeInPxSyY9CB5PkwQs4m1qs/ydreSgSC/1qOI5ggyZpfgVAuwIwaBL5rZ6y6h6jIJULErsYpXlser+Ta4vCfLlzFpUvaxX/nY35n5GDyf+1XBrfhWWbIsf0Zl7ct2SGGGN5KC7jFQQAMX8TEWEHxjBe8Y2p6pkz25r7Up4FD2gleTFPTRlKC8+z8jdQIekHrEscwBLZ4mRpaFqlOehBPfcwA9aNarEn6Zcy+Z2loVz7G60vl8PynSQARD6ySSnllnaza5mOY71tm8CFOc1w4ZQGt45rWP+OWKpMQb72okIy7Oy+g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JseZLmoPjDjO14Z86dCqvLgcXu4w1SNdcd4NVY2ov9XaDftsMXQlkiYtwzsR7c7ZJPJO7P+D26evNe3KbtcKNYHKamZucl8sq2YV0ocoYz6k56eYnCSWT2bOmuFAf7HMoC8T56pTE66yo/AVIDFRHNk0TNRx4gn05rpgvrf7ao3w4zF20kuDUWwHARrcNe44Wgfr94GTUpmCZ34magbOwVUlsoYUiKyErLbK25dQZLt+Wq0hVKHjdjVw81VQ4M3/RSEvmt1fJSCWthj8g7v+fUJJTHOxDyMCKkQhEymqov+bkfGUOv48ohImo6BH0E0h5LxmMoUv4qJEe7uBEjcpHg==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Teddy Astie <teddy.astie@xxxxxxxxxx>
  • Delivery-date: Fri, 22 May 2026 10:29:05 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Wed, May 13, 2026 at 01:45:12PM +0200, Jan Beulich wrote:
> ... shadowing a function scope one in one case and the global _end[] in
> another, thus violating Misra C:2012 rule 5.3 ("An identifier declared in
> an inner scope shall not hide an identifier declared in an outer scope").
> No difference in generated code.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

> 
> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -857,13 +857,13 @@ do {
>  /* 64-bit l2: touch all entries except for PAE compat guests. */
>  #define FOREACH_PRESENT_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)      \
>  do {                                                                        \
> -    unsigned int _i, _end = SHADOW_L2_PAGETABLE_ENTRIES;                    \
> +    unsigned int _i, _nr = SHADOW_L2_PAGETABLE_ENTRIES;                     \
>      shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                         \
>      ASSERT_VALID_L2(mfn_to_page(_sl2mfn)->u.sh.type);                       \
>      if ( is_pv_32bit_domain(_dom) /* implies !paging_mode_external */ &&    \
>           mfn_to_page(_sl2mfn)->u.sh.type != SH_type_l2_64_shadow )          \
> -        _end = COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(_dom);                    \
> -    for ( _i = 0; _i < _end; ++_i )                                         \
> +        _nr = COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(_dom);                     \
> +    for ( _i = 0; _i < _nr; ++_i )                                          \
>      {                                                                       \
>          (_sl2e) = _sp + _i;                                                 \
>          if ( shadow_l2e_get_flags(*(_sl2e)) & _PAGE_PRESENT )               \
> @@ -3349,7 +3349,9 @@ static pagetable_t cf_check sh_update_cr
>  #if SHADOW_PAGING_LEVELS == 3
>          {
>              mfn_t smfn = 
> pagetable_get_mfn(v->arch.paging.shadow.shadow_table[0]);
> +#if GUEST_PAGING_LEVELS != 3
>              unsigned int i;
> +#endif

Hm, that one is nasty, we would better use a different variable name,
but that would be more churn.

Thanks, Roger.



 


Rackspace

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