Skip to contentSkip to conversation

Patch "PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Jan 9, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
pci-msi-check-for-null-affinity-mask-in-pci_irq_get_affinity.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From d1d111e073840b8dbc1ae90ba3fc274736451bdc Mon Sep 17 00:00:00 2001

From: Jan Beulich <[email protected]>
Date: Tue, 8 Nov 2016 00:43:54 -0700
Subject: PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()

From: Jan Beulich <[email protected]>

commit d1d111e073840b8dbc1ae90ba3fc274736451bdc upstream.

If msi_setup_entry() fails to allocate an affinity mask, it logs a message but continues on and allocates an MSI entry with entry->affinity == NULL.

Check for this case in pci_irq_get_affinity() so we don't try to dereference a NULL pointer.

[bhelgaas: changelog]
Fixes ee8d41e53efe "pci/msi: Retrieve affinity for a vector"
CC Thomas Gleixner <[email protected]>
---
 drivers/pci/msi.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/pci/msi.c +2 -1
@@ -1294,7 +1294,8 @@ const struct cpumask *pci_irq_get_affini
 	} else if (dev->msi_enabled) {
 		struct msi_desc *entry = first_pci_msi_entry(dev);
 
-		if (WARN_ON_ONCE(!entry || nr >= entry->nvec_used))
+		if (WARN_ON_ONCE(!entry || !entry->affinity ||
+				 nr >= entry->nvec_used))
 			return NULL;
 
 		return &entry->affinity[nr];

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/pci-msi-check-for-null-affinity-mask-in-pci_irq_get_affinity.patch