The storage array is size limited, but misses a sanity check

Signed-off-by: Thomas Gleixner <[email protected]>
---
 arch/x86/kernel/cpu/perf_event_intel_uncore.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
===================================================================
--- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
@@ -882,7 +882,7 @@ static int uncore_pci_probe(struct pci_d
        int phys_id, ret;
 
        phys_id = uncore_pcibus_to_physid(pdev->bus);
-       if (phys_id < 0)
+       if (phys_id < 0 || phys_id >= UNCORE_SOCKET_MAX)
                return -ENODEV;
 
        if (UNCORE_PCI_DEV_TYPE(id->driver_data) == UNCORE_EXTRA_PCI_DEV) {


Reply via email to