mbox series

[0/1] Fix for LP: #1790480

Message ID 20180905101556.13993-1-kleber.souza@canonical.com
Headers show
Series Fix for LP: #1790480 | expand

Message

Kleber Sacilotto de Souza Sept. 5, 2018, 10:15 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1790480

== SRU Justification ==
IBM is requesting a fix for the following issue found with NVMe devices on
s390x:

The trigger is a PCI function whose driver requests more interrupts than the
architectural maximum. Currently this is only possible with a machine that
supports 64 CPUs (or more) with a NVMe function attached. Note that the LPAR
does not have to use >=64 CPUs since the NVMe driver uses num_possible_cpus()
which is resolved to the machine maximum on s390 (since all CPUs are
hot-pluggable). The oops happens after the driver calls pci_alloc_irq_vectors
during device probing - so most likely the system will panic during boot.

The fix has been cc'ed to stable@, but hasn't been picked up for Bionic yet.

== Fix ==
866f3576a72b s390/pci: fix out of bounds access during irq setup

== Regression Potential ==
Low. Affects only s390x systems with more than 64 cpus and NVMe function
enabled.

== Test case ==
Boot the kernel in an affected environment.

Sebastian Ott (1):
  s390/pci: fix out of bounds access during irq setup

 arch/s390/pci/pci.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kleber Sacilotto de Souza Sept. 5, 2018, 12:47 p.m. UTC | #1
On 09/05/18 12:15, Kleber Sacilotto de Souza wrote:
> BugLink: https://bugs.launchpad.net/bugs/1790480
> 
> == SRU Justification ==
> IBM is requesting a fix for the following issue found with NVMe devices on
> s390x:
> 
> The trigger is a PCI function whose driver requests more interrupts than the
> architectural maximum. Currently this is only possible with a machine that
> supports 64 CPUs (or more) with a NVMe function attached. Note that the LPAR
> does not have to use >=64 CPUs since the NVMe driver uses num_possible_cpus()
> which is resolved to the machine maximum on s390 (since all CPUs are
> hot-pluggable). The oops happens after the driver calls pci_alloc_irq_vectors
> during device probing - so most likely the system will panic during boot.
> 
> The fix has been cc'ed to stable@, but hasn't been picked up for Bionic yet.

I made the most basic mistake of all, forgot to mention which series are
affected by this issue...

The fix was initially requested for Bionic only, but it turns out that
Xenial is affected as well. For 4.4, the patch needs a bit of fuzzing
adjustment, so I will adapt it accordingly when applying to Xenial.


Thanks.

> 
> == Fix ==
> 866f3576a72b s390/pci: fix out of bounds access during irq setup
> 
> == Regression Potential ==
> Low. Affects only s390x systems with more than 64 cpus and NVMe function
> enabled.
> 
> == Test case ==
> Boot the kernel in an affected environment.
> 
> Sebastian Ott (1):
>   s390/pci: fix out of bounds access during irq setup
> 
>  arch/s390/pci/pci.c | 2 ++
>  1 file changed, 2 insertions(+)
>
Kleber Sacilotto de Souza Sept. 5, 2018, 1:06 p.m. UTC | #2
On 09/05/18 12:15, Kleber Sacilotto de Souza wrote:
> BugLink: https://bugs.launchpad.net/bugs/1790480
> 
> == SRU Justification ==
> IBM is requesting a fix for the following issue found with NVMe devices on
> s390x:
> 
> The trigger is a PCI function whose driver requests more interrupts than the
> architectural maximum. Currently this is only possible with a machine that
> supports 64 CPUs (or more) with a NVMe function attached. Note that the LPAR
> does not have to use >=64 CPUs since the NVMe driver uses num_possible_cpus()
> which is resolved to the machine maximum on s390 (since all CPUs are
> hot-pluggable). The oops happens after the driver calls pci_alloc_irq_vectors
> during device probing - so most likely the system will panic during boot.
> 
> The fix has been cc'ed to stable@, but hasn't been picked up for Bionic yet.
> 
> == Fix ==
> 866f3576a72b s390/pci: fix out of bounds access during irq setup
> 
> == Regression Potential ==
> Low. Affects only s390x systems with more than 64 cpus and NVMe function
> enabled.
> 
> == Test case ==
> Boot the kernel in an affected environment.
> 
> Sebastian Ott (1):
>   s390/pci: fix out of bounds access during irq setup
> 
>  arch/s390/pci/pci.c | 2 ++
>  1 file changed, 2 insertions(+)
> 

Applied to bionic/master-next and xenial/master-next (with context
adjustment) branches.

Thanks,
Kleber