ISST-LTE: Briggs:Stratton:UbuntuKVM: ics_opal_set_affinity on host kernel log using Intel X710 (i40e driver)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu-power-systems project |
Fix Released
|
Medium
|
Canonical Kernel Team | ||
linux (Ubuntu) |
Fix Released
|
Medium
|
Ubuntu on IBM Power Systems Bug Triage | ||
Xenial |
Fix Released
|
Medium
|
Canonical Kernel Team |
Bug Description
SRU Justification:
Impact:
We have an issue with the i40e driver, present in kernels pre-4.8, like Xenial v4.4 (from Ubuntu 16.04.1).
i40e driver has an issue in interrupt vector assignment in case of sparse CPU masks, like when some CPUs are disabled. The driver does a linear mapping not taking gaps on cpumask into account. This is a problem in systems with multiple logical CPUs per core (like in SMT scenarios).
If we disable some logical CPUs, by turning SMT off for example, we will end up with a sparse cpu_online_mask, i.e., only the first CPU in a core is online, and the incremental/linear filling in the interrupt cpumask might lead to multiple offline CPUs being assigned to the struct q_vector in the driver, leading to issues when interrupts are requested, like the following message in PowerPC systems:
[141.97] ics_opal_
This message is output of interrupt controller in Power systems, a complain that the cpumask does not make sense to that particular system.
Fix: Cherry-picking 7f6c553902bfa1c
i40e: use valid online CPU on q_vector initialization
into Xenial. Change limited to specific driver. Regression potential should be low and results testable.
CVE References
tags: | added: architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 |
Changed in ubuntu: | |
assignee: | nobody → Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
affects: | ubuntu → linux (Ubuntu) |
Changed in ubuntu-power-systems: | |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
description: | updated |
Changed in linux (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in ubuntu-power-systems: | |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
status: | New → Fix Committed |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Xenial): | |
importance: | Undecided → Medium |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
Changed in ubuntu-power-systems: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-power-systems: | |
importance: | Undecided → Medium |
tags: | added: triage-g |
tags: |
added: verification-done-xenial removed: verification-needed-xenial |
Changed in linux (Ubuntu): | |
status: | Fix Committed → Fix Released |
Changed in ubuntu-power-systems: | |
status: | Fix Committed → Fix Released |
------- Comment From <email address hidden> 2017-07-12 16:21 EDT-------
Commit was merged in Xenial tree today:
http:// kernel. ubuntu. com/git/ ubuntu/ ubuntu- xenial. git/commit/ ?id=1edc644d
Closing this bug accordingly, thanks Canonical.
Cheers,
Guilherme