From: Vasily Averin <v...@virtuozzo.com>
Date: Sun, 12 Nov 2017 22:26:44 +0300

> OpenVz kernel team have a long history of fighting against namespace-related 
> bugs,
> some of them could be prevented by using simple checks described below.
> 
> One of typical errors is related to live cycle of namespaces:
> usually objects created for some namespace should not live longer than 
> namespace itself.
> 
> Such kind of issues can be invisible on usual systems where additional 
> namespaces
> are not used, because initial namespaces usually lives forever and never 
> destroyed.
> 
> However in systems with namespaces it can lead to memory leaks or to 
> use-after-free.
> Both of them are critical for systems with running containers.
> As you knows it's quite hard to find the reason of such issues,
> especially in rarely-triggered scenarios on production nodes on default 
> kernels
> without specially enabled debug settings. Any additional hints can be useful 
> here.
> 
> This patch set should help to detect some of these issues.
> It is based on assumption that objects initialized in init hook of 
> pernet_operations
> should return to initial state until end of exit hook.
> 
> Many drivers and subsystems already have such checks, however I've found 
> number
> of places where list_empty check would be useful at least as smoke test.
> 
> These checks are useful for long-term stable kernels,
> they allows to detect problems related to incomplete or incorrectly
> backported patches.

All applied to net-next except patch #9 and #10 which need to go via the
NFS maintainer.

Reply via email to