On 02/10, Oleg Nesterov wrote: > > On 02/10, Alex Williamson wrote: > > > > --- a/drivers/pci/probe.c > > +++ b/drivers/pci/probe.c > > @@ -345,7 +345,8 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) > > unsigned int pos, reg; > > u16 orig_cmd; > > > > - BUILD_BUG_ON(howmany > PCI_STD_NUM_BARS); > > + if (__builtin_constant_p(howmany)) > > + BUILD_BUG_ON(howmany > PCI_STD_NUM_BARS); > > Or just > > BUILD_BUG_ON(__builtin_constant_p(howmany) && howmany > PCI_STD_NUM_BARS); > > I dunno... Works for me in any case. > > I don't know if this is "right" solution though, I mean, atm I simply don't know if with the newer compiler __builtin_constant_p(howmany) will be true in this case. Oleg.