Patch "fs/xattr.c: zero out memory copied to userspace in getxattr" has been added to the 4.11-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
fs/xattr.c: zero out memory copied to userspace in getxattr
to the 4.11-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
fs-xattr.c-zero-out-memory-copied-to-userspace-in-getxattr.patch
and it can be found in the queue-4.11 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
81be3dee96346fbe08c31be5ef74f03f6b63cf68Mon Sep 17 00:00:00 2001
From: Michal Hocko <[email protected]>
Date: Mon, 8 May 2017 15:57:24 -0700
Subject: fs/xattr.c: zero out memory copied to userspace in getxattr
From: Michal Hocko <[email protected]>
commit 81be3dee96346fbe08c31be5ef74f03f6b63cf68 upstream.
getxattr uses vmalloc to allocate memory if kzalloc fails. This is filled by vfs_getxattr and then copied to the userspace. vmalloc, however, doesn't zero out the memory so if the specific implementation of the xattr handler is sloppy we can theoretically expose a kernel memory. There is no real sign this is really the case but let's make sure this will not happen and use vzalloc instead.
--- fs/xattr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/xattr.c +1 -1
@@ -530,7 +530,7 @@ getxattr(struct dentry *d, const char __ size =XATTR_SIZE_MAX ; kvalue =kzalloc (size,GFP_KERNEL | __GFP_NOWARN);if (!kvalue) { - kvalue =vmalloc (size); + kvalue =vzalloc (size);if (!kvalue)return -ENOMEM ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.11/fs-xattr.c-zero-out-memory-copied-to-userspace-in-getxattr.patch queue-4.11/mm-vmscan-fix-io-refault-regression-in-cache-workingset-transition.patch queue-4.11/mm-prevent-potential-recursive-reclaim-due-to-clearing-pf_memalloc.patch