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@vger.kernel.org Signed-off-by: Waiman Long longman@redhat.com
Acked-by: Michal Hocko mhocko@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.
regards, dan carpenter