Re: [PATCH] userns: suppress kmemleak message

From: Jakub Kicinski
Date: Thu Nov 03 2016 - 11:06:42 EST


On Thu, 03 Nov 2016 09:54:25 -0500, Eric W. Biederman wrote:
> Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> 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@xxxxxxxxxxxx>
>
> 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.