[stgt] [PATCH] RFC prevent tgtd from segfault when attempting to configure passthrough device
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Fri Jul 9 07:07:52 CEST 2010
On Thu, 8 Jul 2010 11:44:05 +1000
Mark Harvey <markh794 at gmail.com> wrote:
> This was one way to resolve the segfault if .cmd_passthrough() is NULL
>
>
> From cd9c358476090d1a1758aba03157c30e60c53e57 Mon Sep 17 00:00:00 2001
> From: Mark Harvey <markh794 at gmail.com>
> Date: Thu, 8 Jul 2010 06:48:02 +1000
> Subject: Prevent segfault if passthrough params not correct.
>
> If user neglects to supply '--device_type=pt' when creating a
> passthrough device, tgtd would segfault due to .cmd_passthrough() being NULL
>
> Signed-off-by: Mark Harvey <markh794 at gmail.com>
> ---
> usr/bs_sg.c | 8 ++++++++
> usr/mmc.c | 1 +
> usr/osd.c | 1 +
> usr/sbc.c | 1 +
> usr/scc.c | 6 ++++++
> usr/smc.c | 1 +
> usr/ssc.c | 2 +-
> usr/tgtd.h | 1 +
> 8 files changed, 20 insertions(+), 1 deletions(-)
Better to check this earlier (that is, when we create a new device)?
How about something like this (not tested)?
=
From: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
Subject: [PATCH] check pt device creation
Signed-off-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
---
usr/target.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/usr/target.c b/usr/target.c
index 5fbfb0e..bb5b0c8 100644
--- a/usr/target.c
+++ b/usr/target.c
@@ -490,6 +490,13 @@ int tgt_device_create(int tid, int dev_type, uint64_t lun, char *params,
} else
bst = get_backingstore_template("null");
+ if ((!strncmp(bst->bs_name, "bsg", 3) ||
+ !strncmp(bst->bs_name, "sg", 2)) &&
+ dev_type != TYPE_PT) {
+ ret = TGTADM_INVALID_REQUEST;
+ goto out;
+ }
+
lu_bsoflags = str_to_open_flags(bsoflags);
if (lu_bsoflags == -1) {
ret = TGTADM_INVALID_REQUEST;
--
1.6.5
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list