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)