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.
|
* Copyright (c) 1995, 1998, 2008 The NetBSD Foundation, Inc.
|
||||||
@ -31,7 +31,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#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,
|
* 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) {
|
if (spare == NULL) {
|
||||||
mutex_spin_exit(&timer_lock);
|
mutex_spin_exit(&timer_lock);
|
||||||
spare = pool_get(&ptimer_pool, PR_WAITOK);
|
spare = pool_get(&ptimer_pool, PR_WAITOK);
|
||||||
|
memset(spare, 0, sizeof(*spare));
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
ptp = spare;
|
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.
|
* Copyright (c) 2000, 2004, 2005, 2007, 2008, 2009 The NetBSD Foundation, Inc.
|
||||||
@ -61,7 +61,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#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/param.h>
|
||||||
#include <sys/resourcevar.h>
|
#include <sys/resourcevar.h>
|
||||||
@ -1166,6 +1166,7 @@ dosetitimer(struct proc *p, int which, struct itimerval *itvp)
|
|||||||
if (spare == NULL) {
|
if (spare == NULL) {
|
||||||
mutex_spin_exit(&timer_lock);
|
mutex_spin_exit(&timer_lock);
|
||||||
spare = pool_get(&ptimer_pool, PR_WAITOK);
|
spare = pool_get(&ptimer_pool, PR_WAITOK);
|
||||||
|
memset(spare, 0, sizeof(*spare));
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
pt = spare;
|
pt = spare;
|
||||||
|
Loading…
Reference in New Issue
Block a user