ciss(4) malformed vendor/product data

Sean Bruno seanwbruno at gmail.com
Tue Apr 9 19:43:08 UTC 2013


On Mon, 2013-04-08 at 13:14 -0700, Sean Bruno wrote:
> I think, at some point in the mists of time, vendor and product inquiry
> were expand to 16bytes and 48 bytes respectively, at least when I look
> at camcontrol, that's what I see.
> 
> I noted that the camcontrol devlist output was slightly mangled (note
> the lack of 1+0):
> 
> -bash-4.2$ sudo camcontrol devlist
> <COMPAQ RAID 1(1VOLUME OK>         at scbus0 target 0 lun 0 (pass0,da0)
> <COMPAQ RAID 1(1VOLUME OK>         at scbus0 target 1 lun 0 (pass1,da1)
> <TEAC CD-224E 9.9A>                at scbus3 target 0 lun 0 (pass2,cd0)
> 
> When I updated this to have the same padded sizes as camcontrol, then
> things realigned and became clear:
> 
> <COMPAQ RAID 1(1+0) OK>            at scbus0 target 0 lun 0 (pass0,da0)
> <COMPAQ RAID 0 OK>                 at scbus0 target 1 lun 0 (pass1,da1)
> 
> 
> Not sure if there's a global that should be used here, or 
> 


Thought better of the patch, and thought, "Hey!  Why don't I just use
the values that CAM already defines for this purpose!"

This will have the same result as the previous version, but be slightly
more future proofish.

Index: ciss.c
===================================================================
--- ciss.c	(revision 249314)
+++ ciss.c	(working copy)
@@ -3346,9 +3346,12 @@
 
 	cl = &sc->ciss_logical[bus][target];
 
-	padstr(inq->vendor, "COMPAQ", 8);
-	padstr(inq->product,
ciss_name_ldrive_org(cl->cl_ldrive->fault_tolerance), 8);
-	padstr(inq->revision, ciss_name_ldrive_status(cl->cl_lstatus->status),
16);
+	padstr(inq->vendor, "COMPAQ",
+			SID_VENDOR_SIZE);
+	padstr(inq->product,
ciss_name_ldrive_org(cl->cl_ldrive->fault_tolerance),
+			SID_PRODUCT_SIZE);
+	padstr(inq->revision, ciss_name_ldrive_status(cl->cl_lstatus->status),
+			SID_REVISION_SIZE);
     }
 }

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freebsd.org/pipermail/freebsd-scsi/attachments/20130409/2afa1382/attachment.sig>


More information about the freebsd-scsi mailing list