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:
parent
8be75e9e02
commit
1eb384e338
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user