Ordinary scalar operations are used in a multitude of other places, so
do so here as well. In fact take the opportunity and drop a local
variable then as well, first and foremost to get rid of a bogus cast.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1659,9 +1659,8 @@ void sh_resync_l1(struct vcpu *v, mfn_t
SHADOW_FOREACH_L1E(sl1mfn, sl1p, &gl1p, 0, {
guest_l1e_t gl1e = *gl1p;
- guest_l1e_t *snpl1p = (guest_l1e_t *)snp + guest_index(gl1p);
- if ( memcmp(snpl1p, &gl1e, sizeof(gl1e)) )
+ if ( snp[guest_index(gl1p)].l1 != gl1e.l1 )
{
gfn_t gfn;
mfn_t gmfn = INVALID_MFN;
@@ -1677,7 +1676,7 @@ void sh_resync_l1(struct vcpu *v, mfn_t
l1e_propagate_from_guest(v, gl1e, gmfn, &nsl1e, ft_prefetch, p2mt);
rc |= shadow_set_l1e(d, sl1p, nsl1e, p2mt, sl1mfn);
- *snpl1p = gl1e;
+ snp[guest_index(gl1p)] = gl1e;
}
});