Module Name:    src
Committed By:   maxv
Date:           Fri Aug 23 08:31:12 UTC 2019

Modified Files:
        src/sys/compat/linux/common: linux_signal.c
        src/sys/compat/linux32/common: linux32_signal.c

Log Message:
Fix info leaks in sigaltstack.


To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 src/sys/compat/linux/common/linux_signal.c
cvs rdiff -u -r1.19 -r1.20 src/sys/compat/linux32/common/linux32_signal.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/linux/common/linux_signal.c
diff -u src/sys/compat/linux/common/linux_signal.c:1.80 src/sys/compat/linux/common/linux_signal.c:1.81
--- src/sys/compat/linux/common/linux_signal.c:1.80	Sun Jan  7 21:14:38 2018
+++ src/sys/compat/linux/common/linux_signal.c	Fri Aug 23 08:31:11 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux_signal.c,v 1.80 2018/01/07 21:14:38 christos Exp $	*/
+/*	$NetBSD: linux_signal.c,v 1.81 2019/08/23 08:31:11 maxv Exp $	*/
 
 /*-
  * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.80 2018/01/07 21:14:38 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.81 2019/08/23 08:31:11 maxv Exp $");
 
 #define COMPAT_LINUX 1
 
@@ -683,6 +683,7 @@ linux_to_native_sigaltstack(struct sigal
 void
 native_to_linux_sigaltstack(struct linux_sigaltstack *lss, const struct sigaltstack *bss)
 {
+	memset(lss, 0, sizeof(*lss));
 	lss->ss_sp = bss->ss_sp;
 	lss->ss_size = bss->ss_size;
 	if (bss->ss_flags & SS_ONSTACK)

Index: src/sys/compat/linux32/common/linux32_signal.c
diff -u src/sys/compat/linux32/common/linux32_signal.c:1.19 src/sys/compat/linux32/common/linux32_signal.c:1.20
--- src/sys/compat/linux32/common/linux32_signal.c:1.19	Sun Jan  7 21:16:00 2018
+++ src/sys/compat/linux32/common/linux32_signal.c	Fri Aug 23 08:31:11 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux32_signal.c,v 1.19 2018/01/07 21:16:00 christos Exp $ */
+/*	$NetBSD: linux32_signal.c,v 1.20 2019/08/23 08:31:11 maxv Exp $ */
 
 /*-
  * Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_signal.c,v 1.19 2018/01/07 21:16:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_signal.c,v 1.20 2019/08/23 08:31:11 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/ucred.h>
@@ -232,6 +232,7 @@ native_to_linux32_sigaction(struct linux
 void
 native_to_linux32_sigaltstack(struct linux32_sigaltstack *lss, const struct sigaltstack *bss)
 {
+	memset(lss, 0, sizeof(*lss));
 	NETBSD32PTR32(lss->ss_sp, bss->ss_sp);
 	lss->ss_size = bss->ss_size;
 	if (bss->ss_flags & SS_ONSTACK)

Reply via email to