summaryrefslogtreecommitdiffstats
path: root/queue-3.16
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2020-06-09 18:57:31 +0100
committerBen Hutchings <ben@decadent.org.uk>2020-06-09 18:57:31 +0100
commitd71ae8c6f690453efd54b10b2dec6bb601103dfe (patch)
treef1172605d88464e2431bc67dd0f657eca4ba2c19 /queue-3.16
parent534b67c46042059501de7c44256f1c249ede56c4 (diff)
downloadlinux-stable-queue-d71ae8c6f690453efd54b10b2dec6bb601103dfe.tar.gz
Add fix for potential coredump information leaksHEADmaster
The known information leak on x86 systems does not exist here, but some more obscure architectures appear to have similar leaks.
Diffstat (limited to 'queue-3.16')
-rw-r--r--queue-3.16/fs-binfmt_elf.c-allocate-initialized-memory-in.patch37
-rw-r--r--queue-3.16/series1
2 files changed, 38 insertions, 0 deletions
diff --git a/queue-3.16/fs-binfmt_elf.c-allocate-initialized-memory-in.patch b/queue-3.16/fs-binfmt_elf.c-allocate-initialized-memory-in.patch
new file mode 100644
index 00000000..736e9f4d
--- /dev/null
+++ b/queue-3.16/fs-binfmt_elf.c-allocate-initialized-memory-in.patch
@@ -0,0 +1,37 @@
+From: Alexander Potapenko <glider@google.com>
+Date: Wed, 27 May 2020 22:20:52 -0700
+Subject: fs/binfmt_elf.c: allocate initialized memory in
+ fill_thread_core_info()
+
+commit 1d605416fb7175e1adf094251466caa52093b413 upstream.
+
+KMSAN reported uninitialized data being written to disk when dumping
+core. As a result, several kilobytes of kmalloc memory may be written
+to the core file and then read by a non-privileged user.
+
+Reported-by: sam <sunhaoyl@outlook.com>
+Signed-off-by: Alexander Potapenko <glider@google.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Acked-by: Kees Cook <keescook@chromium.org>
+Cc: Al Viro <viro@zeniv.linux.org.uk>
+Cc: Alexey Dobriyan <adobriyan@gmail.com>
+Link: http://lkml.kernel.org/r/20200419100848.63472-1-glider@google.com
+Link: https://github.com/google/kmsan/issues/76
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+[bwh: Backported to 3.16: adjust context]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+ fs/binfmt_elf.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/binfmt_elf.c
++++ b/fs/binfmt_elf.c
+@@ -1575,7 +1575,7 @@ static int fill_thread_core_info(struct
+ (!regset->active || regset->active(t->task, regset) > 0)) {
+ int ret;
+ size_t size = regset->n * regset->size;
+- void *data = kmalloc(size, GFP_KERNEL);
++ void *data = kzalloc(size, GFP_KERNEL);
+ if (unlikely(!data))
+ return 0;
+ ret = regset->get(t->task, regset,
diff --git a/queue-3.16/series b/queue-3.16/series
index 6a88cc2c..cb72f717 100644
--- a/queue-3.16/series
+++ b/queue-3.16/series
@@ -58,3 +58,4 @@ x86-speculation-add-special-register-buffer-data-sampling-srbds-mitigation.patch
x86-speculation-add-srbds-vulnerability-and-mitigation-documentation.patch
x86-speculation-add-ivy-bridge-to-affected-list.patch
random-always-use-batched-entropy-for-get_random_u-32-64.patch
+fs-binfmt_elf.c-allocate-initialized-memory-in.patch