|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/shadow: replace stale literal numbers in hash_{vcpu,domain}_foreach()
On 25.01.2021 12:07, Jan Beulich wrote:
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -1623,6 +1623,9 @@ void shadow_hash_delete(struct domain *d
> typedef int (*hash_vcpu_callback_t)(struct vcpu *v, mfn_t smfn, mfn_t
> other_mfn);
> typedef int (*hash_domain_callback_t)(struct domain *d, mfn_t smfn, mfn_t
> other_mfn);
>
> +#define HASH_CALLBACKS_CHECK(mask) \
> + BUILD_BUG_ON((mask) > (1U << ARRAY_SIZE(callbacks)) - 1)
Sadly at least with Clang5 this doesn't work for some of the uses
further down, e.g. ...
> @@ -2009,6 +2012,7 @@ int sh_remove_write_access(struct domain
> perfc_incr(shadow_writeable_bf_1);
> else
> perfc_incr(shadow_writeable_bf);
> + HASH_CALLBACKS_CHECK(callback_mask);
... this one. I've made it
#ifndef __clang__ /* At least some versions dislike some of the uses. */
#define HASH_CALLBACKS_CHECK(mask) \
BUILD_BUG_ON((mask) > (1U << ARRAY_SIZE(callbacks)) - 1)
#else
#define HASH_CALLBACKS_CHECK(mask) ((void)(mask))
#endif
for the time being - if anyone has any better idea, I'll be
happy to take suggestions.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |