Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e9d4e1ee788097484606c32122f146d802a9c5fb to < bf75f14d755f9cfbb246e6cc011b53cdd5142de3affectede9d4e1ee788097484606c32122f146d802a9c5fb to < 72fb67f6e0e5d78e4f34cf9929d1afdb0fd54203affectede9d4e1ee788097484606c32122f146d802a9c5fb to < 0a90e268cce7023f34087bfa4affb42e29ff5f45affectede9d4e1ee788097484606c32122f146d802a9c5fb to < 5ec8f629a300cc40e746d6178f724bdff7683fa7affectede9d4e1ee788097484606c32122f146d802a9c5fb to < a3417097fb107cea3358b19bcbb4eb655fd67f8caffected
Linux Linux
Default version status: affected
6.3affected0 to < 6.3unaffected6.6.160 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.5 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/bf75f14d755f9cfbb246e6cc011b53cdd5142de3 ↗
- https://git.kernel.org/stable/c/72fb67f6e0e5d78e4f34cf9929d1afdb0fd54203 ↗
- https://git.kernel.org/stable/c/0a90e268cce7023f34087bfa4affb42e29ff5f45 ↗
- https://git.kernel.org/stable/c/5ec8f629a300cc40e746d6178f724bdff7683fa7 ↗
- https://git.kernel.org/stable/c/a3417097fb107cea3358b19bcbb4eb655fd67f8c ↗