Direct naar de inhoud
Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-45900

MEDIUM · 5.5 CVSS Gepubliceerd: CWE-401

Beschrijving NL

In de Linux kernel is de volgende kwetsbaarheid verholpen:

crypto: caam - repareer netdev geheugenlek in dpaa2_caam_probe

Wanneer commit 0e1a4d427f58 ("crypto: caam: Unembed net_dev structure in
dpaa2") ingebed net_device geconverteerd naar dynamisch toegewezen pointers,
het heeft opruiming toegevoegd in dpaa2_dpseci_disable() maar heeft het toevoegen van opruiming gemist in
dpaa2_dpseci_free() voor foutpaden. Dit veroorzaakt geheugenlekken wanneer dpaa2_dpseci_dpio_setup() mislukt tijdens de probe.
Omdat DPIO-apparaten nog niet gereed zijn. De uitgestelde probe van de kernel
Het mechanisme handelt de herhaalpoging succesvol af, maar de netdevs die tijdens de herhaling zijn toegewezen, blijven onbruikbaar.
De mislukte sondeerpogingen worden nooit vrijgegeven, wat resulteert in kmemleak-rapporten.
waarbij meerdere gelekte netwerkontwikkelingsgerelateerde toewijzingen werden getoond, die allemaal terug te voeren zijn op
dpaa2_caam_probe(). Los dit op door het CPU-masker van toegewezen netdevs te behouden tijdens de installatie en
gebruiken voor opruimen in dpaa2_dpseci_free(). Deze aanpak zorgt ervoor dat
alleen de CPU's waarvoor daadwerkelijk netdevs zijn toegewezen, worden opgeruimd,
het vermijden van mogelijke problemen met CPU-hotplug-scenario's.

Origineel (Engels) tonen

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

crypto: caam - fix netdev memory leak in dpaa2_caam_probe

When commit 0e1a4d427f58 ("crypto: caam: Unembed net_dev structure in
dpaa2") converted embedded net_device to dynamically allocated pointers,
it added cleanup in dpaa2_dpseci_disable() but missed adding cleanup in
dpaa2_dpseci_free() for error paths.

This causes memory leaks when dpaa2_dpseci_dpio_setup() fails during probe
due to DPIO devices not being ready yet. The kernel's deferred probe
mechanism handles the retry successfully, but the netdevs allocated during
the failed probe attempt are never freed, resulting in kmemleak reports
showing multiple leaked netdev-related allocations all traced back to
dpaa2_caam_probe().

Fix this by preserving the CPU mask of allocated netdevs during setup and
using it for cleanup in dpaa2_dpseci_free(). This approach ensures that
only the CPUs that actually had netdevs allocated will be cleaned up,
avoiding potential issues with CPU hotplug scenarios.

Vendors

Linux

Affected products

Linux Kernel

References