|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] x86/shadow: fix DO_UNSHADOW()
commit 81acb1d7bdd5b1bf9c3422dcfeda616db2405d6f
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Tue May 25 09:08:43 2021 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue May 25 09:08:43 2021 +0200
x86/shadow: fix DO_UNSHADOW()
When adding the HASH_CALLBACKS_CHECK() I failed to properly recognize
the (somewhat unusually formatted) if() around the call to
hash_domain_foreach()). Gcc 11 is absolutely right in pointing out the
apparently misleading indentation. Besides adding the missing braces,
also adjust the two oddly formatted if()-s in the macro.
Fixes: 90629587e16e ("x86/shadow: replace stale literal numbers in
hash_{vcpu,domain}_foreach()")
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
Reviewed-by: Tim Deegan <tim@xxxxxxx>
---
xen/arch/x86/mm/shadow/common.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index b060ebcb72..6db538502d 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -2220,8 +2220,8 @@ void sh_remove_shadows(struct domain *d, mfn_t gmfn, int
fast, int all)
*/
#define DO_UNSHADOW(_type) do { \
t = (_type); \
- if( !(pg->count_info & PGC_page_table) \
- || !(pg->shadow_flags & (1 << t)) ) \
+ if ( !(pg->count_info & PGC_page_table) || \
+ !(pg->shadow_flags & (1 << t)) ) \
break; \
smfn = shadow_hash_lookup(d, mfn_x(gmfn), t); \
if ( unlikely(!mfn_valid(smfn)) ) \
@@ -2235,11 +2235,13 @@ void sh_remove_shadows(struct domain *d, mfn_t gmfn,
int fast, int all)
sh_unpin(d, smfn); \
else if ( sh_type_has_up_pointer(d, t) ) \
sh_remove_shadow_via_pointer(d, smfn); \
- if( !fast \
- && (pg->count_info & PGC_page_table) \
- && (pg->shadow_flags & (1 << t)) ) \
+ if ( !fast && \
+ (pg->count_info & PGC_page_table) && \
+ (pg->shadow_flags & (1 << t)) ) \
+ { \
HASH_CALLBACKS_CHECK(SHF_page_type_mask); \
hash_domain_foreach(d, masks[t], callbacks, smfn); \
+ } \
} while (0)
DO_UNSHADOW(SH_type_l2_32_shadow);
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |