CVE-2025-21981

ice: fix memory leak in aRFS after reset

State
Published
Severity
5.5 Medium
Published
Apr 1, 2025
Updated
May 11, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

Description

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

ice: fix memory leak in aRFS after reset

Fix aRFS (accelerated Receive Flow Steering) structures memory leak by adding a checker to verify if aRFS memory is already allocated while configuring VSI. aRFS objects are allocated in two cases: - as part of VSI initialization (at probe), and - as part of reset handling

However, VSI reconfiguration executed during reset involves memory allocation one more time, without prior releasing already allocated resources. This led to the memory leak with the following signature:

[root@os-delivery ~]# cat /sys/kernel/debug/kmemleak unreferenced object 0xff3c1ca7252e6000 (size 8192): comm "kworker/0:0", pid 8, jiffies 4296833052 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 0): [<ffffffff991ec485>] __kmalloc_cache_noprof+0x275/0x340 [<ffffffffc0a6e06a>] ice_init_arfs+0x3a/0xe0 [ice] [<ffffffffc09f1027>] ice_vsi_cfg_def+0x607/0x850 [ice] [<ffffffffc09f244b>] ice_vsi_setup+0x5b/0x130 [ice] [<ffffffffc09c2131>] ice_init+0x1c1/0x460 [ice] [<ffffffffc09c64af>] ice_probe+0x2af/0x520 [ice] [<ffffffff994fbcd3>] local_pci_probe+0x43/0xa0 [<ffffffff98f07103>] work_for_cpu_fn+0x13/0x20 [<ffffffff98f0b6d9>] process_one_work+0x179/0x390 [<ffffffff98f0c1e9>] worker_thread+0x239/0x340 [<ffffffff98f14abc>] kthread+0xcc/0x100 [<ffffffff98e45a6d>] ret_from_fork+0x2d/0x50 [<ffffffff98e083ba>] ret_from_fork_asm+0x1a/0x30 ...

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

  • CWE-401 Missing Release of Memory after Effective Lifetime

Affected Products

ProductVersions
LinuxLinux
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before ef2bc94059836a115430a6ad9d2838b0b34dc8f5Affected
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before e6902101f34f098af59b0d1d8cf90c4124c02c6aAffected
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before fcbacc47d16306c87ad1b820b7a575f6e9eae58bAffected
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before 5d30d256661fc11b6e73fac6c3783a702e1006a3Affected
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before 3b27e6e10a32589fcd293b8933ab6de9387a460eAffected
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before 78f3d64b30210c0e521c59357431aca14024cb79Affected
  • 28bf26724fdb0e02267d19e280d6717ee810a10d to before 23d97f18901ef5e4e264e3b1777fe65c760186b5Affected
LinuxLinux
  • 5.8Affected
  • before 5.8Not affected
  • 5.10.236 through 5.10.*Not affected
  • 5.15.180 through 5.15.*Not affected
  • 6.1.132 through 6.1.*Not affected
  • 6.6.84 through 6.6.*Not affected
  • 6.12.20 through 6.12.*Not affected
  • 6.13.8 through 6.13.*Not affected
  • 6.14 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.