On Thu, 03 Nov 2016 09:54:25 -0500, Eric W. Biederman wrote: > Dmitry Torokhov <dmitry.torok...@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" <ebied...@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 never write the pointer to memory so kmemleak can't find it. user_header is just held in a register for as long as it's needed even though the variable is static.