memcg: make the v1 soft limit knob inert
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.110, 6.18.51, 7.2.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: memcg: make the v1 soft limit knob inert The v1 soft limit has been deprecated since v6.12 and nobody has reported depending on it. Start the removal by decoupling the interface from the implementation: keep memory.soft_limit_in_bytes, but ignore writes to it and always report the maximum value on read similar to what memory.kmem.limit_in_bytes already does. Writes are still parsed, so malformed input keeps returning -EINVAL. The knob now also behaves the same everywhere: it used to return -EOPNOTSUPP on PREEMPT_RT, where soft limit reclaim has always been disabled. This also fixes the syzbot report linked below. Soft limit reclaim is the only caller that runs shrink_lruvec() from kswapd against a specific memcg, so it is the only way to reach lru_gen_shrink_lruvec() and in turn set_mm_walk(), which warns when called from kswapd.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e9d4e1ee788097484606c32122f146d802a9c5fb · fixed in bf75f14d755f9cfbb246e6cc011b53cdd5142de3; From e9d4e1ee788097484606c32122f146d802a9c5fb · fixed in 72fb67f6e0e5d78e4f34cf9929d1afdb0fd54203; From e9d4e1ee788097484606c32122f146d802a9c5fb · fixed in 0a90e268cce7023f34087bfa4affb42e29ff5f45; From e9d4e1ee788097484606c32122f146d802a9c5fb · fixed in 5ec8f629a300cc40e746d6178f724bdff7683fa7; From e9d4e1ee788097484606c32122f146d802a9c5fb · fixed in a3417097fb107cea3358b19bcbb4eb655fd67f8c
- Linux Linux
6.3
- KernelLinux
From 6.3.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5