Re: KVM: powerpc: Fix BUILD_BUG_ON condition

From: Hollis Blanchard
Date: Mon Nov 02 2009 - 11:43:02 EST


On Mon, 2009-11-02 at 17:08 +1100, Stephen Rothwell wrote:
> Hi Hollis, Avi,
>
> This commit was added to the kvm tree recently:
>
> > Author: Hollis Blanchard <hollisb@xxxxxxxxxx>
> > Date: Fri Oct 23 00:35:30 2009 +0000
> >
> > KVM: powerpc: Fix BUILD_BUG_ON condition
> >
> > The old BUILD_BUG_ON implementation didn't work with __builtin_constant_p().
> > Fixing that revealed this test had been inverted for a long time without
> > anybody noticing...
> >
> > Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
> > Signed-off-by: Avi Kivity <avi@xxxxxxxxxx>
> >
> > diff --git a/arch/powerpc/kvm/timing.h b/arch/powerpc/kvm/timing.h
> > index bb13b1f..a550f0f 100644
> > --- a/arch/powerpc/kvm/timing.h
> > +++ b/arch/powerpc/kvm/timing.h
> > @@ -48,7 +48,7 @@ static inline void kvmppc_set_exit_type(struct kvm_vcpu *vcpu, int type) {}
> > static inline void kvmppc_account_exit_stat(struct kvm_vcpu *vcpu, int type)
> > {
> > /* type has to be known at build time for optimization */
> > - BUILD_BUG_ON(__builtin_constant_p(type));
> > + BUILD_BUG_ON(!__builtin_constant_p(type));
> > switch (type) {
> > case EXT_INTR_EXITS:
> > vcpu->stat.ext_intr_exits++;
>
> It is OK as far as it goes. It still does not build, though, due to the
> new BUILD_BUG_ON macro.

Correct.

> So I have still commented out the BUILD_BUG_ON in linux-next.

I've pointed out a few times that Rusty's patch (Subject "BUILD_BUG_ON:
make it handle more cases", Date "Tue, 20 Oct 2009 14:15:33 +1030") is
needed to fix the problem with BUILD_BUG_ON().

So far I haven't seen anybody acknowledge the patch or indicate it will
actually be committed.

--
Hollis Blanchard
IBM Linux Technology Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/