Module Name: src Committed By: martin Date: Wed Nov 21 12:13:08 UTC 2018
Modified Files: src/sys/kern [netbsd-7-1]: kern_event.c Log Message: Pull up following revision(s) (requested by maxv in ticket #1653): sys/kern/kern_event.c: revision 1.104 Fix kernel info leak. There are 4 bytes of padding in struct kevent. [ 287.537676] kleak: Possible leak in copyout: [len=40, leaked=4] [ 287.537676] #0 0xffffffff80b7c41a in kleak_note <netbsd> [ 287.547673] #1 0xffffffff80b7c49a in kleak_copyout <netbsd> [ 287.557677] #2 0xffffffff80b1d32d in kqueue_scan.isra.1.constprop.2 <netbsd> [ 287.557677] #3 0xffffffff80b1dc6a in kevent1 <netbsd> [ 287.567683] #4 0xffffffff80b1dcb0 in sys___kevent50 <netbsd> [ 287.567683] #5 0xffffffff8025ab3c in sy_call <netbsd> [ 287.577688] #6 0xffffffff8025ad6e in sy_invoke <netbsd> [ 287.587693] #7 0xffffffff8025adf4 in syscall <netbsd> To generate a diff of this commit: cvs rdiff -u -r1.80.2.1.6.1 -r1.80.2.1.6.2 src/sys/kern/kern_event.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/kern_event.c diff -u src/sys/kern/kern_event.c:1.80.2.1.6.1 src/sys/kern/kern_event.c:1.80.2.1.6.2 --- src/sys/kern/kern_event.c:1.80.2.1.6.1 Sat Jul 8 16:52:27 2017 +++ src/sys/kern/kern_event.c Wed Nov 21 12:13:08 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_event.c,v 1.80.2.1.6.1 2017/07/08 16:52:27 snj Exp $ */ +/* $NetBSD: kern_event.c,v 1.80.2.1.6.2 2018/11/21 12:13:08 martin Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -58,7 +58,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_event.c,v 1.80.2.1.6.1 2017/07/08 16:52:27 snj Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_event.c,v 1.80.2.1.6.2 2018/11/21 12:13:08 martin Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -584,6 +584,7 @@ filt_proc(struct knote *kn, long hint) * event with the parent's pid. Register knote with new * process. */ + memset(&kev, 0, sizeof(kev)); kev.ident = hint & NOTE_PDATAMASK; /* pid */ kev.filter = kn->kn_filter; kev.flags = kn->kn_flags | EV_ADD | EV_ENABLE | EV_FLAG1;