Description
In the Linux kernel, the following vulnerability has been resolved: bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps The LRU and LRU_PERCPU maps allocate a new element on update before locking the target hash table bucket. Right after that the maps try to lock the bucket. If this fails, then maps return -EBUSY to the caller without releasing the allocated element. This makes the element untracked: it doesn't belong to either of free lists, and it doesn't belong to the hash table, so can't be re-used; this eventually leads to the permanent -ENOMEM on LRU map updates, which is unexpected. Fix this by returning the element to the local free list if bucket locking fails.
Product status
20b6cc34ea74b6a84599c1f8a70f3315b56a1883 (git) before 79ea1a12fb9a8275b6e19d4ca625dd872dedcbb9
20b6cc34ea74b6a84599c1f8a70f3315b56a1883 (git) before 1a9e80f757bbb1562d82e350afce2bb2f712cc3d
20b6cc34ea74b6a84599c1f8a70f3315b56a1883 (git) before 965e9cccbe6b9c7b379908cebcb5e3a47f20dd5e
20b6cc34ea74b6a84599c1f8a70f3315b56a1883 (git) before b34ffb0c6d23583830f9327864b9c1f486003305
5.11
Any version before 5.11
5.15.115 (semver)
6.1.31 (semver)
6.3.5 (semver)
6.4 (original_commit_for_fix)
References
git.kernel.org/...c/79ea1a12fb9a8275b6e19d4ca625dd872dedcbb9
git.kernel.org/...c/1a9e80f757bbb1562d82e350afce2bb2f712cc3d
git.kernel.org/...c/965e9cccbe6b9c7b379908cebcb5e3a47f20dd5e
git.kernel.org/...c/b34ffb0c6d23583830f9327864b9c1f486003305
Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.