Improve my kern_time.c::rev1.192, systematically clear the buffers we get

from 'ptimer_pool' to prevent more leaks.
This commit is contained in:
maxv 2018-11-29 17:40:12 +00:00
parent 8be75e9e02
commit 1eb384e338
2 changed files with 6 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: linux_misc_notalpha.c,v 1.109 2014/11/09 17:48:08 maxv Exp $ */
/* $NetBSD: linux_misc_notalpha.c,v 1.110 2018/11/29 17:40:12 maxv Exp $ */
/*-
* Copyright (c) 1995, 1998, 2008 The NetBSD Foundation, Inc.
@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: linux_misc_notalpha.c,v 1.109 2014/11/09 17:48:08 maxv Exp $");
__KERNEL_RCSID(0, "$NetBSD: linux_misc_notalpha.c,v 1.110 2018/11/29 17:40:12 maxv Exp $");
/*
* Note that we must NOT include "opt_compat_linux32.h" here,
@ -161,6 +161,7 @@ linux_sys_alarm(struct lwp *l, const struct linux_sys_alarm_args *uap, register_
if (spare == NULL) {
mutex_spin_exit(&timer_lock);
spare = pool_get(&ptimer_pool, PR_WAITOK);
memset(spare, 0, sizeof(*spare));
goto retry;
}
ptp = spare;

View File

@ -1,4 +1,4 @@
/* $NetBSD: kern_time.c,v 1.192 2018/11/28 15:10:40 maxv Exp $ */
/* $NetBSD: kern_time.c,v 1.193 2018/11/29 17:40:12 maxv Exp $ */
/*-
* Copyright (c) 2000, 2004, 2005, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.192 2018/11/28 15:10:40 maxv Exp $");
__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.193 2018/11/29 17:40:12 maxv Exp $");
#include <sys/param.h>
#include <sys/resourcevar.h>
@ -1166,6 +1166,7 @@ dosetitimer(struct proc *p, int which, struct itimerval *itvp)
if (spare == NULL) {
mutex_spin_exit(&timer_lock);
spare = pool_get(&ptimer_pool, PR_WAITOK);
memset(spare, 0, sizeof(*spare));
goto retry;
}
pt = spare;