diff options
| author | martin <martin@NetBSD.org> | 2022-08-03 15:54:23 +0000 |
|---|---|---|
| committer | martin <martin@NetBSD.org> | 2022-08-03 15:54:23 +0000 |
| commit | 351d30dbc7897502cf6d653004326befb43c5d6f (patch) | |
| tree | 601d9242831535a3fde37ea74051d31fb386f558 | |
| parent | f1d2435af19ed80ab9726916c6a3370fcc67ebcb (diff) | |
Pull up following revision(s) (requested by riastradh in ticket #1494):
external/cddl/osnet/sys/kern/kmem.c: revision 1.3
kmem_cache_create()'s "name" parameter can be on the stack,
so make a copy of it rather than keeping a pointer to it.
| -rw-r--r-- | external/cddl/osnet/sys/kern/kmem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/external/cddl/osnet/sys/kern/kmem.c b/external/cddl/osnet/sys/kern/kmem.c index e0fd0a17705..4d2b7c221ff 100644 --- a/external/cddl/osnet/sys/kern/kmem.c +++ b/external/cddl/osnet/sys/kern/kmem.c @@ -1,4 +1,4 @@ -/* $NetBSD: kmem.c,v 1.2 2019/05/23 08:32:30 hannken Exp $ */ +/* $NetBSD: kmem.c,v 1.2.2.1 2022/08/03 15:54:23 martin Exp $ */ /*- * Copyright (c) 2017 The NetBSD Foundation, Inc. @@ -30,6 +30,7 @@ struct kmem_cache { pool_cache_t km_pool; + char km_name[32]; void *km_private; int (*km_constructor)(void *, void *, int); void (*km_destructor)(void *, void *); @@ -78,11 +79,12 @@ kmem_cache_create(char *name, size_t bufsize, size_t align, KASSERT(vmp == NULL); km = kmem_zalloc(sizeof(*km), KM_SLEEP); + strlcpy(km->km_name, name, sizeof(km->km_name)); km->km_private = private; km->km_constructor = constructor; km->km_destructor = destructor; km->km_reclaim = reclaim; - km->km_pool = pool_cache_init(bufsize, align, 0, 0, name, NULL, + km->km_pool = pool_cache_init(bufsize, align, 0, 0, km->km_name, NULL, IPL_NONE, solaris_constructor, solaris_destructor, km); if (km->km_pool == NULL) { kmem_free(km, sizeof(*km)); |
