Re: On patch "Let scsi_cmnd->cmnd use request->cmd buffer"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Boaz Harrosh wrote:
Stefan Richter wrote:
On  4 May, Stefan Richter wrote:
Boaz Harrosh wrote:
cmd->cmd_len is now guarantied to be set properly at all cases.
And some commands you want to support will not be set correctly
by COMMAND_SIZE().
...
--- linux.orig/drivers/ieee1394/sbp2.c
+++ linux/drivers/ieee1394/sbp2.c
...
     memset(orb->cdb, 0, 12);

if you are at it?
-     memset(orb->cdb, 0, 12);
+     memset(orb->cdb, 0, sizeof(orb->cdb));

-    memcpy(orb->cdb, scsi_cmd, COMMAND_SIZE(*scsi_cmd));
+    memcpy(orb->cdb, SCpnt->cmnd, SCpnt->cmd_len);
...

Wait a minute...

drivers/ieee1394/sbp2.[ch] and drivers/firewire/fw-sbp2.c hardwire the
maximum size of the command descriptor block (command_block field in the
command block ORB as per SBP-2 clause 5.1.2) to 12 bytes.

We need to use BLK_MAX_CDB there, don't we?

(Besides, we should keep an eye on unit_characteristics.ORB_size as per
SBP-2 clause 7.4.8, but that's another story.)

I'm not sure what you mean. But orb->cdb is 12 bytes, and setting max_cmd_len in host template insures midlayer will never send a command bigger then that. So ->cmd_len will never be bigger then host->max_cmd_len. BLK_MAX_CDB should not
be used here.

But I don't see .max_cmd_len set in this file, is it set elsewhere?

Boaz

Oops sorry its fine not to set .max_cmd_len. If not set the midlayer will
assume 12. So the code you sent is fine as is.

Boaz
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux