On 02/10, Alex Williamson wrote: > > As reported in the below link, it seems older versions of gcc cannot > determine that the howmany variable is known for all callers. Include > a test so that newer compilers can still enforce this sanity check and > older compilers can still work. > > Fixes: 4453f360862e ("PCI: Batch BAR sizing operations") > Link: https://lore.kernel.org/all/20250209154512.GA18688@xxxxxxxxxx > Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> > Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> ^^^^^^^^^^^^ Well, thanks, but I didn't ;) > @@ -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); > + BUILD_BUG_ON(__builtin_constant_p(howmany) && > + howmany > PCI_STD_NUM_BARS); Thanks! Tested-by: Oleg Nesterov <oleg@xxxxxxxxxx>