Skip to content
OpenAdvisories
Unscored CVE-2024-44964 EUVD-2024-41222GHSA-2j9f-hmx4-cvgr

idpf: fix memory leaks and crashes while performing a soft reset

Published Sep 4, 2024 · Updated May 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-6.8 Package: linux-intel Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-lowlatency Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

idpf: fix memory leaks and crashes while performing a soft reset

The second tagged commit introduced a UAF, as it removed restoring
q_vector->vport pointers after reinitializating the structures.
This is due to that all queue allocation functions are performed here
with the new temporary vport structure and those functions rewrite
the backpointers to the vport. Then, this new struct is freed and
the pointers start leading to nowhere.

But generally speaking, the current logic is very fragile. It claims
to be more reliable when the system is low on memory, but in fact, it
consumes two times more memory as at the moment of running this
function, there are two vports allocated with their queues and vectors.
Moreover, it claims to prevent the driver from running into "bad state",
but in fact, any error during the rebuild leaves the old vport in the
partially allocated state.
Finally, if the interface is down when the function is called, it always
allocates a new queue set, but when the user decides to enable the
interface later on, vport_open() allocates them once again, IOW there's
a clear memory leak here.

Just don't allocate a new queue set when performing a reset, that solves
crashes and memory leaks. Readd the old queue number and reopen the
interface on rollback - that solves limbo states when the device is left
disabled and/or without HW queues enabled.

Affected products

VendorProductAffectedFixed
Linux Linux 6.7 6.10.5

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.10.6-1 —
Debian 13 linux 6.10.6-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield No fix yet —
Ubuntu 24.04 LTS linux +17 No fix yet —
Ubuntu 24.04 LTS linux-gcp 6.8.0-1030.32 USN-7515-2
Ubuntu 24.04 LTS linux-gke 6.8.0-1025.29 USN-7515-1
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1012.14 USN-7515-2
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1035.38 USN-8781-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1083.92 USN-7511-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1030.32~22.04.1 USN-7515-2
Ubuntu 22.04 LTS linux-gke 5.15.0-1081.87 USN-7511-3
Ubuntu 22.04 LTS linux-riscv +40 No fix yet —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1083.92~20.04.1 USN-7512-1
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 18.04 LTS linux-gcp +13 No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-realtime +1 No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips +2 No fix yet —
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1083.92+fips1 USN-7511-2
ReleasePackageFixed inAdvisory
RHEL 9 rv +77 5.14.0-570.12.1.el9_6 RHSA-2025:6966
ReleasePackageFixed inAdvisory
SLES 15 SP6 kernel-64kb +6 6.4.0-150600.23.30.1 SUSE-SU-2024:4318-1
SLES 15 SP6 kernel-azure 6.4.0-150600.8.17.2 SUSE-SU-2024:3984-1
SLES 15 SP6 kernel-coco +3 6.4.0-15061.9.coco15sp6.1 SUSE-SU-2024:4387-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.30.1.150600.12.12.6 SUSE-SU-2024:4318-1
SLES 15 SP6 kernel-syms-azure +1 6.4.0-150600.8.17.1 SUSE-SU-2024:3984-1
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.88.1 SUSE-SU-2024:4364-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.75.1 SUSE-SU-2024:4376-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.88.1.150500.6.39.4 SUSE-SU-2024:4364-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
Show 14 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SLE Micro 6.1 kernel-default-base 6.4.0-24.1.21.4 SUSE-SU-2025:20247-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_4 1-1.1 SUSE-SU-2025:20246-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_4 1-1.2 SUSE-SU-2025:20247-1
SLE Micro 6.1 kernel-rt +1 6.4.0-22.1 SUSE-SU-2025:20246-1
SLE Micro 6.1 kernel-source +2 6.4.0-24.1 SUSE-SU-2025:20247-1
SLE Micro 6.0 kernel-default-base 6.4.0-24.1.21.4 SUSE-SU-2025:20164-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_4 1-1.1 SUSE-SU-2025:20163-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_4 1-1.2 SUSE-SU-2025:20164-1
SLE Micro 6.0 kernel-rt +1 6.4.0-22.1 SUSE-SU-2025:20163-1
SLE Micro 6.0 kernel-source +2 6.4.0-24.1 SUSE-SU-2025:20164-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.88.1 SUSE-SU-2024:4364-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.88.1.150500.6.39.4 SUSE-SU-2024:4364-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.79.1 SUSE-SU-2024:4315-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.103.1 SUSE-SU-2024:4345-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.103.1 SUSE-SU-2024:4345-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.30.1 SUSE-SU-2024:4318-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_5 1-150600.1.3.1 SUSE-SU-2024:3986-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_6 1-150600.13.3.5 SUSE-SU-2024:4318-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.88.1 SUSE-SU-2024:4364-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5-RT_Update_23 1-150500.11.3.1 SUSE-SU-2024:4315-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_21 1-150500.11.5.1 SUSE-SU-2024:4364-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_34 1-150400.9.3.1 SUSE-SU-2024:4346-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
SUSE Real Time Module 15 SP6 kernel-rt +3 6.4.0-150600.10.17.1 SUSE-SU-2024:3986-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.79.1 SUSE-SU-2024:4315-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.144.1.150400.24.70.1 SUSE-SU-2024:4346-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.144.1 SUSE-SU-2024:4346-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 dtb-aarch64 +10 6.4.0-150600.23.30.1 SUSE-SU-2024:4318-1
openSUSE Leap 15.6 kernel-azure 6.4.0-150600.8.17.2 SUSE-SU-2024:3984-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.30.1.150600.12.12.6 SUSE-SU-2024:4318-1
openSUSE Leap 15.6 kernel-rt +3 6.4.0-150600.10.17.1 SUSE-SU-2024:3986-1
openSUSE Leap 15.6 kernel-syms-azure +1 6.4.0-150600.8.17.1 SUSE-SU-2024:3984-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.75.1 SUSE-SU-2024:4376-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.79.1 SUSE-SU-2024:4315-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 kernel-rt 5.14.21-150500.13.79.1 SUSE-SU-2024:4315-1

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 bpftool 7.5.0-802.el9_6 ELSA-2025-6966
Oracle Linux 9 rv +28 5.14.0-570.12.1.0.1.el9_6 ELSA-2025-6966

Advisories 23

References