net/mlx5e: EPERM on vlan 0 programming
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Po-Hsu Lin | ||
Focal |
Fix Released
|
Medium
|
Po-Hsu Lin | ||
Hirsute |
Won't Fix
|
Undecided
|
Po-Hsu Lin | ||
Impish |
Fix Released
|
Medium
|
Po-Hsu Lin | ||
Jammy |
Fix Released
|
Undecided
|
Po-Hsu Lin |
Bug Description
[Impact]
There is an issue with hypervisor host side mlx5 driver operation on
Bluefield devices in kernels <=5.16
From patch description:
When using libvirt to passthrough VF to VM it will always set the VF vlan
to 0 even if user didn’t request it, this will cause libvirt to fail to
boot in case the PF isn't eswitch owner.
Example of such case is the DPU host PF which isn't eswitch manager, so
any attempt to passthrough VF of it using libvirt will fail.
[Fix]
* 7846665d net/mlx5e: Unblock setting vid 0 for VF in case PF isn't
eswitch manager
This patch can be cherry-picked into Impish and newer kernels, but it
requires some backport work on F/H due to they're missing commit
b55b3538 that split the legacy code out.
The ESW_ALLOWED marco was later converted into a helper routine in
commit b16f2bb6.
[Test]
Test kernels can be found here:
F: https:/
H: https:/
I: https:/
J: https:/
Kernels tested on a SUT with this device by Dmitrii Shcherbakov, test
passed with positive feedback.
[Where problems could occur]
If this patch is erroneous, it might cause issue to this mlx5 driver
with certain operations (setting vid 0). And other programs such as
libvirt that depends on this return value might be affected as well.
[Original Bug Description]
There is an issue with hypervisor host side mlx5 driver operation on Bluefield devices in kernels <=5.16 that was recently fixed in master with a one-liner:
It would be good to have this fix in Focal+ kernels.
This is not needed in https:/
CVE References
description: | updated |
description: | updated |
description: | updated |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → Po-Hsu Lin (cypressyew) |
Changed in linux (Ubuntu Hirsute): | |
assignee: | nobody → Po-Hsu Lin (cypressyew) |
Changed in linux (Ubuntu Jammy): | |
assignee: | nobody → Po-Hsu Lin (cypressyew) |
Changed in linux (Ubuntu Impish): | |
assignee: | nobody → Po-Hsu Lin (cypressyew) |
Changed in linux (Ubuntu Focal): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Hirsute): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Impish): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Jammy): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Hirsute): | |
status: | In Progress → Won't Fix |
Changed in linux (Ubuntu Impish): | |
importance: | Undecided → Medium |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1957753
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.