Upstream information
Description
In the Linux kernel, the following vulnerability has been resolved: ice: Fix race condition during interface enslave Commit 5dbbbd01cbba83 ("ice: Avoid RTNL lock when re-creating auxiliary device") changes a process of re-creation of aux device so ice_plug_aux_dev() is called from ice_service_task() context. This unfortunately opens a race window that can result in dead-lock when interface has left LAG and immediately enters LAG again. Reproducer: ``` #!/bin/sh ip link add lag0 type bond mode 1 miimon 100 ip link set lag0 for n in {1..10}; do echo Cycle: $n ip link set ens7f0 master lag0 sleep 1 ip link set ens7f0 nomaster done ``` This results in: [20976.208697] Workqueue: ice ice_service_task [ice] [20976.213422] Call Trace: [20976.215871] __schedule+0x2d1/0x830 [20976.219364] schedule+0x35/0xa0 [20976.222510] schedule_preempt_disabled+0xa/0x10 [20976.227043] __mutex_lock.isra.7+0x310/0x420 [20976.235071] enum_all_gids_of_dev_cb+0x1c/0x100 [ib_core] [20976.251215] ib_enum_roce_netdev+0xa4/0xe0 [ib_core] [20976.256192] ib_cache_setup_one+0x33/0xa0 [ib_core] [20976.261079] ib_register_device+0x40d/0x580 [ib_core] [20976.266139] irdma_ib_register_device+0x129/0x250 [irdma] [20976.281409] irdma_probe+0x2c1/0x360 [irdma] [20976.285691] auxiliary_bus_probe+0x45/0x70 [20976.289790] really_probe+0x1f2/0x480 [20976.298509] driver_probe_device+0x49/0xc0 [20976.302609] bus_for_each_drv+0x79/0xc0 [20976.306448] __device_attach+0xdc/0x160 [20976.310286] bus_probe_device+0x9d/0xb0 [20976.314128] device_add+0x43c/0x890 [20976.321287] __auxiliary_device_add+0x43/0x60 [20976.325644] ice_plug_aux_dev+0xb2/0x100 [ice] [20976.330109] ice_service_task+0xd0c/0xed0 [ice] [20976.342591] process_one_work+0x1a7/0x360 [20976.350536] worker_thread+0x30/0x390 [20976.358128] kthread+0x10a/0x120 [20976.365547] ret_from_fork+0x1f/0x40 ... [20976.438030] task:ip state:D stack: 0 pid:213658 ppid:213627 flags:0x00004084 [20976.446469] Call Trace: [20976.448921] __schedule+0x2d1/0x830 [20976.452414] schedule+0x35/0xa0 [20976.455559] schedule_preempt_disabled+0xa/0x10 [20976.460090] __mutex_lock.isra.7+0x310/0x420 [20976.464364] device_del+0x36/0x3c0 [20976.467772] ice_unplug_aux_dev+0x1a/0x40 [ice] [20976.472313] ice_lag_event_handler+0x2a2/0x520 [ice] [20976.477288] notifier_call_chain+0x47/0x70 [20976.481386] __netdev_upper_dev_link+0x18b/0x280 [20976.489845] bond_enslave+0xe05/0x1790 [bonding] [20976.494475] do_setlink+0x336/0xf50 [20976.502517] __rtnl_newlink+0x529/0x8b0 [20976.543441] rtnl_newlink+0x43/0x60 [20976.546934] rtnetlink_rcv_msg+0x2b1/0x360 [20976.559238] netlink_rcv_skb+0x4c/0x120 [20976.563079] netlink_unicast+0x196/0x230 [20976.567005] netlink_sendmsg+0x204/0x3d0 [20976.570930] sock_sendmsg+0x4c/0x50 [20976.574423] ____sys_sendmsg+0x1eb/0x250 [20976.586807] ___sys_sendmsg+0x7c/0xc0 [20976.606353] __sys_sendmsg+0x57/0xa0 [20976.609930] do_syscall_64+0x5b/0x1a0 [20976.613598] entry_SYSCALL_64_after_hwframe+0x65/0xca 1. Command 'ip link ... set nomaster' causes that ice_plug_aux_dev() is called from ice_service_task() context, aux device is created and associated device->lock is taken. 2. Command 'ip link ... set master...' calls ice's notifier under RTNL lock and that notifier calls ice_unplug_aux_dev(). That function tries to take aux device->lock but this is already taken by ice_plug_aux_dev() in step 1 3. Later ice_plug_aux_dev() tries to take RTNL lock but this is already taken in step 2 4. Dead-lock The patch fixes this issue by following changes: - Bit ICE_FLAG_PLUG_AUX_DEV is kept to be set during ice_plug_aux_dev() call in ice_service_task() - The bit is checked in ice_clear_rdma_cap() and only if it is not set then ice_unplug_aux_dev() is called. If it is set (in other words plugging of aux device was requested and ice_plug_aux_dev() is potentially running) then the function only clears the ---truncated---SUSE information
Overall state of this security issue: Pending
This issue is currently rated as having moderate severity.
SUSE | |
---|---|
Base Score | 4.1 |
Vector | CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H |
Attack Vector | Local |
Attack Complexity | High |
Privileges Required | High |
User Interaction | None |
Scope | Unchanged |
Confidentiality Impact | None |
Integrity Impact | None |
Availability Impact | High |
CVSSv3 Version | 3.1 |
Status of this issue by product and package
Please note that this evaluation state might be work in progress, incomplete or outdated. Also information for service packs in the LTSS phase is only included for issues meeting the LTSS criteria. If in doubt, feel free to contact us for clarification. The updates are grouped by state of their lifecycle. SUSE product lifecycles are documented on the lifecycle page.
Product(s) | Source package | State |
---|---|---|
Products under general support and receiving all security fixes. | ||
SUSE Enterprise Storage 7.1 | kernel-default | Affected |
SUSE Enterprise Storage 7.1 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP5 | kernel-default | Already fixed |
SUSE Linux Enterprise Desktop 15 SP5 | kernel-source | Already fixed |
SUSE Linux Enterprise Desktop 15 SP6 | kernel-default | Already fixed |
SUSE Linux Enterprise Desktop 15 SP6 | kernel-source | Already fixed |
SUSE Linux Enterprise High Performance Computing 12 SP5 | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 12 SP5 | kernel-source-azure | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-default | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-default | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise Micro 5.1 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.1 | kernel-rt | Affected |
SUSE Linux Enterprise Micro 5.1 | kernel-source-rt | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-rt | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-source-rt | Affected |
SUSE Linux Enterprise Micro 5.3 | kernel-default | Already fixed |
SUSE Linux Enterprise Micro 5.3 | kernel-rt | Already fixed |
SUSE Linux Enterprise Micro 5.3 | kernel-source-rt | Already fixed |
SUSE Linux Enterprise Micro 5.4 | kernel-default | Already fixed |
SUSE Linux Enterprise Micro 5.4 | kernel-rt | Already fixed |
SUSE Linux Enterprise Micro 5.4 | kernel-source-rt | Already fixed |
SUSE Linux Enterprise Micro 5.5 | kernel-source-rt | Already fixed |
SUSE Linux Enterprise Module for Basesystem 15 SP5 | kernel-default | Already fixed |
SUSE Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | Already fixed |
SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | Already fixed |
SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | Already fixed |
SUSE Linux Enterprise Module for Development Tools 15 SP5 | kernel-default | Already fixed |
SUSE Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | Already fixed |
SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-default | Already fixed |
SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | Already fixed |
SUSE Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise Real Time 12 SP5 | kernel-source-rt | Affected |
SUSE Linux Enterprise Real Time 15 SP5 | kernel-source-rt | Already fixed |
SUSE Linux Enterprise Real Time 15 SP6 | kernel-source-rt | Already fixed |
SUSE Linux Enterprise Server 12 SP5 | kernel-default | Affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-source-azure | Affected |
SUSE Linux Enterprise Server 15 SP5 | kernel-default | Already fixed |
SUSE Linux Enterprise Server 15 SP5 | kernel-source | Already fixed |
SUSE Linux Enterprise Server 15 SP5 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise Server 15 SP6 | kernel-default | Already fixed |
SUSE Linux Enterprise Server 15 SP6 | kernel-source | Already fixed |
SUSE Linux Enterprise Server 15 SP6 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source-azure | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-default | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source-azure | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source-azure | Already fixed |
SUSE Manager Proxy 4.3 | kernel-default | Already fixed |
SUSE Manager Proxy 4.3 | kernel-source | Already fixed |
SUSE Manager Retail Branch Server 4.3 | kernel-default | Already fixed |
SUSE Manager Retail Branch Server 4.3 | kernel-source | Already fixed |
SUSE Manager Server 4.3 | kernel-default | Already fixed |
SUSE Manager Server 4.3 | kernel-source | Already fixed |
SUSE Real Time Module 15 SP5 | kernel-source-rt | Already fixed |
SUSE Real Time Module 15 SP6 | kernel-source-rt | Already fixed |
openSUSE Leap 15.5 | kernel-default | Already fixed |
openSUSE Leap 15.5 | kernel-source | Already fixed |
openSUSE Leap 15.5 | kernel-source-azure | Already fixed |
openSUSE Leap 15.5 | kernel-source-rt | Already fixed |
openSUSE Leap 15.6 | kernel-default | Already fixed |
openSUSE Leap 15.6 | kernel-source | Already fixed |
openSUSE Leap 15.6 | kernel-source-azure | Already fixed |
openSUSE Leap 15.6 | kernel-source-rt | Already fixed |
Products under Long Term Service Pack support and receiving important and critical security fixes. | ||
SUSE Linux Enterprise Desktop 15 SP4 | kernel-source | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP4 | kernel-source | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-default | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default | Already fixed |
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-source | Already fixed |
SUSE Linux Enterprise Module for Basesystem 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP4 | kernel-source | Already fixed |
SUSE Linux Enterprise Module for Development Tools 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP4 | kernel-source | Already fixed |
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-default | Affected |
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP4 | kernel-source | Already fixed |
SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-default | Already fixed |
SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-source | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP2 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default | Already fixed |
SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-source | Already fixed |
Products past their end of life and not receiving proactive updates anymore. | ||
HPE Helion OpenStack 8 | kernel-source | Affected |
SUSE CaaS Platform 4.0 | kernel-source | Affected |
SUSE Enterprise Storage 6 | kernel-source | Affected |
SUSE Enterprise Storage 7 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 11 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 12 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 12 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.0 | kernel-default | Affected |
SUSE Linux Enterprise Module for Basesystem 15 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Real Time 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Real Time 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Real Time 15 SP3 | kernel-source-rt | Affected |
SUSE Linux Enterprise Real Time 15 SP4 | kernel-source | Already fixed |
SUSE Linux Enterprise Real Time 15 SP4 | kernel-source-rt | Already fixed |
SUSE Linux Enterprise Server 11 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 11 SP4-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP3-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP3-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP3-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP4-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP1-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP2-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP3-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 15-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP4 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP1 | kernel-source | Affected |
SUSE Manager Proxy 4.0 | kernel-source | Affected |
SUSE Manager Proxy 4.1 | kernel-source | Affected |
SUSE Manager Proxy 4.2 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.0 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.1 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.2 | kernel-source | Affected |
SUSE Manager Server 4.0 | kernel-source | Affected |
SUSE Manager Server 4.1 | kernel-source | Affected |
SUSE Manager Server 4.2 | kernel-source | Affected |
SUSE OpenStack Cloud 8 | kernel-source | Affected |
SUSE OpenStack Cloud 9 | kernel-source | Affected |
SUSE OpenStack Cloud Crowbar 8 | kernel-source | Affected |
SUSE OpenStack Cloud Crowbar 9 | kernel-source | Affected |
SUSE Real Time Module 15 SP3 | kernel-source-rt | Affected |
SUSE Real Time Module 15 SP4 | kernel-source-rt | Already fixed |
openSUSE Leap 15.3 | kernel-source | Affected |
openSUSE Leap 15.3 | kernel-source-rt | Affected |
openSUSE Leap 15.4 | kernel-source | Already fixed |
openSUSE Leap 15.4 | kernel-source-azure | Unsupported |
openSUSE Leap 15.4 | kernel-source-rt | Already fixed |
Products at an unknown state of their lifecycle. | ||
SUSE CaaS Platform Toolchain 3 | kernel-source | Affected |
SUSE Timeline for this CVE
CVE page created: Tue Jul 16 16:00:52 2024CVE page last modified: Wed Jul 17 17:43:03 2024