Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters

Add parentheses around parameters in PCI_DEVID and PCI_VPD_LRDT_ID macros
to prevent possible expansion errors as described by the CERT Secure Coding
Standard: PRE01-C: Use parentheses within macros around parameter names

Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Megan Kamiya <megan.a.kamiya@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

authored by

Megan Kamiya and committed by
Bjorn Helgaas
63ddc0b8 9fe373f9

+2 -2
+2 -2
include/linux/pci.h
··· 45 45 * In the interest of not exposing interfaces to user-space unnecessarily, 46 46 * the following kernel-only defines are being added here. 47 47 */ 48 - #define PCI_DEVID(bus, devfn) ((((u16)bus) << 8) | devfn) 48 + #define PCI_DEVID(bus, devfn) ((((u16)(bus)) << 8) | (devfn)) 49 49 /* return bus from PCI devid = ((u16)bus_number) << 8) | devfn */ 50 50 #define PCI_BUS_NUM(x) (((x) >> 8) & 0xff) 51 51 ··· 1701 1701 struct pci_dev *end, u16 acs_flags); 1702 1702 1703 1703 #define PCI_VPD_LRDT 0x80 /* Large Resource Data Type */ 1704 - #define PCI_VPD_LRDT_ID(x) (x | PCI_VPD_LRDT) 1704 + #define PCI_VPD_LRDT_ID(x) ((x) | PCI_VPD_LRDT) 1705 1705 1706 1706 /* Large Resource Data Type Tag Item Names */ 1707 1707 #define PCI_VPD_LTIN_ID_STRING 0x02 /* Identifier String */