On Wed, Mar 25, 2020 at 09:46:06AM -0700, Sean Christopherson wrote: > On Wed, Mar 25, 2020 at 05:26:20PM +0100, Paolo Bonzini wrote: > > On 25/03/20 17:14, Sean Christopherson wrote: > > >> Doh, right. I think the only solution for that one is to degrade it to > > >> WARN_ON(1). > > > I reproduced the error, give me a bit to play with the code to see if the > > > BUILD_BUG can be preserved. I'm curious as to why kvm_cpu_cap_mask() is > > > special, and why it only fails with this config. > > > > > > > I could not reproduce it, but I would not be surprised if there are > > other configurations where the compiler cannot constant-propagate from > > the reverse_cpuid struct into __cpuid_entry_get_reg. > > The error is related to UBSAN. There is at least one legitimate (but benign) > underlying issue. I'm chasing down a second instance of the BUILD_BUG. Argh, red herring. There is no underlying issue other than gcc tripping up when -fsanitize=alignment is enabled by UBSAN. Good news is that the build error can be fixed without resorting to a hack.