On Thu, 03 Nov 2016 09:54:25 -0500, Eric W. Biederman wrote:> Dmitry Torokhov <dmitry.torokhov@gmail.com> writes:> > > We do not ever intend to unregister "user" sysctl table, unfortunately> > it leads kmemleak to believe that we are leaking memory: > > Sounds like an issue with kmemleak because we do retain references.> > So no we don't intend to unregister the table.> > As for the patch.> > Nacked-by: "Eric W. Biederman" <ebiederm@xmission.com>> > I can't see the using kmemleak_not_leak is possibly good form. I> would much rather have suggestions about constructs that won't confuse> kmemleak and won't need ugly annotations that serve no purpose but to> appease a tool. Perhaps the user_header variable needs to be moved out> of user_namespace_sysctl_init.

FWIW the problem now is that the compiler is clever enough to neverwrite the pointer to memory so kmemleak can't find it. user_header isjust held in a register for as long as it's needed even though thevariable is static.