On Tue, Jul 04, 2023 at 01:52:40PM +0200, Michal Hocko wrote: > From: Michal Hocko <mhocko@xxxxxxxx> > > kmem.limit_in_bytes (v1 way to limit kernel memory usage) has been > deprecated since 58056f77502f ("memcg, kmem: further deprecate > kmem.limit_in_bytes") merged in 5.16. We haven't heard about any > serious users since then but it seems that the mere presence of the file > is causing more harm thatn good. We (SUSE) have had several bug reports > from customers where Docker based containers started to fail because a > write to kmem.limit_in_bytes has failed. > > This was unexpected because runc code only expects ENOENT (kmem > disabled) or EBUSY (tasks already running within cgroup). So a new error > code was unexpected and the whole container startup failed. This has > been later addressed by > https://github.com/opencontainers/runc/commit/52390d68040637dfc77f9fda6bbe70952423d380 > so current Docker runtimes do not suffer from the problem anymore. There > are still older version of Docker in use and likely hard to get rid of > completely. > > Address this by wiping out the file completely and effectively get back > to pre 4.5 era and CONFIG_MEMCG_KMEM=n configuration. > > I would recommend backporting to stable trees which have picked up > 58056f77502f ("memcg, kmem: further deprecate kmem.limit_in_bytes"). > > Cc: stable > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Shakeel Butt <shakeelb@xxxxxxxxxx>