summaryrefslogtreecommitdiff
path: root/sys/dev/dm/dm_target.c
diff options
context:
space:
mode:
authortkusumi <tkusumi@NetBSD.org>2019-12-06 16:11:59 +0000
committertkusumi <tkusumi@NetBSD.org>2019-12-06 16:11:59 +0000
commit70f809a7cb569e762793f93484b64c7a9567839f (patch)
treec2c06a453ce56c10bbaff5ee20ab374ece7b232c /sys/dev/dm/dm_target.c
parentb0a5ef057e9fb52b05c53283a64e4c7cea313972 (diff)
dm: Don't ignore dm_target_alloc() argument
dm_target_alloc() is supposed to be copying the name argument to its ->name. taken-from: DragonFlyBSD
Diffstat (limited to 'sys/dev/dm/dm_target.c')
-rw-r--r--sys/dev/dm/dm_target.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/sys/dev/dm/dm_target.c b/sys/dev/dm/dm_target.c
index f0dd72e0ff3..722b068b0e8 100644
--- a/sys/dev/dm/dm_target.c
+++ b/sys/dev/dm/dm_target.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dm_target.c,v 1.22 2019/12/04 15:31:12 tkusumi Exp $ */
+/* $NetBSD: dm_target.c,v 1.23 2019/12/06 16:11:59 tkusumi Exp $ */
/*
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.22 2019/12/04 15:31:12 tkusumi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.23 2019/12/06 16:11:59 tkusumi Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -241,7 +241,16 @@ dm_target_destroy(void)
dm_target_t *
dm_target_alloc(const char *name)
{
- return kmem_zalloc(sizeof(dm_target_t), KM_SLEEP);
+ dm_target_t *dmt;
+
+ dmt = kmem_zalloc(sizeof(dm_target_t), KM_SLEEP);
+ if (dmt == NULL)
+ return NULL;
+
+ if (name)
+ strlcpy(dmt->name, name, sizeof(dmt->name));
+
+ return dmt;
}
/*
@@ -298,7 +307,6 @@ dm_target_init(void)
dmt->version[0] = 1;
dmt->version[1] = 0;
dmt->version[2] = 2;
- strlcpy(dmt->name, "linear", DM_MAX_TYPE_NAME);
dmt->init = &dm_target_linear_init;
dmt->status = &dm_target_linear_status;
dmt->strategy = &dm_target_linear_strategy;
@@ -313,7 +321,6 @@ dm_target_init(void)
dmt3->version[0] = 1;
dmt3->version[1] = 0;
dmt3->version[2] = 3;
- strlcpy(dmt3->name, "striped", DM_MAX_TYPE_NAME);
dmt3->init = &dm_target_stripe_init;
dmt3->status = &dm_target_stripe_status;
dmt3->strategy = &dm_target_stripe_strategy;