On 2019-11-27 6:27 a.m., James Sewart wrote: > * This helper encodes an 8-bit devfn as a bit number in dma_alias_mask > * which is used to program permissible bus-devfn source addresses for DMA > @@ -5873,8 +5874,12 @@ int pci_set_vga_state(struct pci_dev *dev, bool decode, > * cannot be left as a userspace activity). DMA aliases should therefore > * be configured via quirks, such as the PCI fixup header quirk. > */ > -void pci_add_dma_alias(struct pci_dev *dev, u8 devfn) > +void pci_add_dma_alias(struct pci_dev *dev, u8 devfn_from, int nr_devfns) > { > + int devfn_to = devfn_from + nr_devfns - 1; > + > + BUG_ON(nr_devfns < 1); Why not just make nr_devfns unsigned and do nothing if it's zero? It might also be worth checking that nr_devfns + devfn_from is less than U8_MAX... But I'd probably avoid the BUG_ON and just truncate it. Logan