[PATCH v4 1/3] mm/slab: Use memzero_explicit() in kzfree()

Dan Carpenter dan.carpenter at oracle.com
Tue Jun 16 11:08:07 CEST 2020

On Tue, Jun 16, 2020 at 08:42:08AM +0200, Michal Hocko wrote:
> On Mon 15-06-20 21:57:16, Waiman Long wrote:
> > The kzfree() function is normally used to clear some sensitive
> > information, like encryption keys, in the buffer before freeing it back
> > to the pool. Memset() is currently used for the buffer clearing. However,
> > it is entirely possible that the compiler may choose to optimize away the
> > memory clearing especially if LTO is being used. To make sure that this
> > optimization will not happen, memzero_explicit(), which is introduced
> > in v3.18, is now used in kzfree() to do the clearing.
> > 
> > Fixes: 3ef0e5ba4673 ("slab: introduce kzfree()")
> > Cc: stable at vger.kernel.org
> > Signed-off-by: Waiman Long <longman at redhat.com>
> Acked-by: Michal Hocko <mhocko at suse.com>
> Although I am not really sure this is a stable material. Is there any
> known instance where the memset was optimized out from kzfree?

I told him to add the stable.  Otherwise it will just get reported to
me again.  It's a just safer to backport it before we forget.

dan carpenter

More information about the WireGuard mailing list