Module Name:    src
Committed By:   pooka
Date:           Wed Jun 16 18:49:22 UTC 2010

Modified Files:
        src/sys/kern: init_sysctl.c

Log Message:
Set kinfo_lwp to 0 before filling it so that if someone removes
variable assignments from here, kernel memory does not leak to
userspace.

Bug found, a little bit suprisingly, by the atf ps test which failed
due to the column width between the -o holdcnt column being too
wide due to the contents displayed being garbage.


To generate a diff of this commit:
cvs rdiff -u -r1.173 -r1.174 src/sys/kern/init_sysctl.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/kern/init_sysctl.c
diff -u src/sys/kern/init_sysctl.c:1.173 src/sys/kern/init_sysctl.c:1.174
--- src/sys/kern/init_sysctl.c:1.173	Sat Feb 13 11:22:21 2010
+++ src/sys/kern/init_sysctl.c	Wed Jun 16 18:49:22 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: init_sysctl.c,v 1.173 2010/02/13 11:22:21 yamt Exp $ */
+/*	$NetBSD: init_sysctl.c,v 1.174 2010/06/16 18:49:22 pooka Exp $ */
 
 /*-
  * Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_sysctl.c,v 1.173 2010/02/13 11:22:21 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_sysctl.c,v 1.174 2010/06/16 18:49:22 pooka Exp $");
 
 #include "opt_sysv.h"
 #include "opt_compat_netbsd32.h"
@@ -3105,6 +3105,8 @@
 
 	KASSERT(lwp_locked(l, NULL));
 
+	memset(kl, 0, sizeof(*kl));
+
 	kl->l_forw = 0;
 	kl->l_back = 0;
 	kl->l_laddr = PTRTOUINT64(l);

Reply via email to