In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Register devlink first under devlink lock
In case device is having a non fatal FW error during probe, the driver will report the error to user via devlink. This will trigger a WARNON, since mlx5 is calling devlinkregister() last. In order to avoid the WARNON[1], change mlx5 to invoke devlregister() first under devlink lock.
[1] WARNING: CPU: 5 PID: 227 at net/devlink/health.c:483 devlinkrecovernotify.constprop.0+0xb8/0xc0 CPU: 5 PID: 227 Comm: kworker/u16:3 Not tainted 6.4.0-rc5forupstreammindebug202306121238 #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 Workqueue: mlx5health0000:08:00.0 mlx5fwreportererrwork [mlx5core] RIP: 0010:devlinkrecovernotify.constprop.0+0xb8/0xc0 Call Trace: <TASK> ? _warn+0x79/0x120 ? devlinkrecovernotify.constprop.0+0xb8/0xc0 ? reportbug+0x17c/0x190 ? handlebug+0x3c/0x60 ? excinvalidop+0x14/0x70 ? asmexcinvalidop+0x16/0x20 ? devlinkrecovernotify.constprop.0+0xb8/0xc0 devlinkhealthreport+0x4a/0x1c0 mlx5fwreportererrwork+0xa4/0xd0 [mlx5core] processonework+0x1bb/0x3c0 ? processonework+0x3c0/0x3c0 workerthread+0x4d/0x3c0 ? processonework+0x3c0/0x3c0 kthread+0xc6/0xf0 ? kthreadcompleteandexit+0x20/0x20 retfromfork+0x1f/0x30 </TASK>