PCI: Improve __pci_read_base() robustness
Local variables 'l' and 'sz' are uninitialized. Normally, they would be initialized by pci_read_config_dword() but when an error occurs, some drivers immediately return an error code, which leaves the argument uninitialized. Provide a safe initial value to make the code more robust. Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
fe2bd75b22
commit
dc5205ef46
@ -175,7 +175,7 @@ static inline unsigned long decode_bar(struct pci_dev *dev, u32 bar)
|
|||||||
int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
|
int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
|
||||||
struct resource *res, unsigned int pos)
|
struct resource *res, unsigned int pos)
|
||||||
{
|
{
|
||||||
u32 l, sz, mask;
|
u32 l = 0, sz = 0, mask;
|
||||||
u64 l64, sz64, mask64;
|
u64 l64, sz64, mask64;
|
||||||
u16 orig_cmd;
|
u16 orig_cmd;
|
||||||
struct pci_bus_region region, inverted_region;
|
struct pci_bus_region region, inverted_region;
|
||||||
|
Loading…
Reference in New Issue
Block a user