lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 21 Feb 2008 03:43:00 -0800
From:	"David Somayajulu" <david.somayajulu@...gic.com>
To:	"Andrew Vasquez" <andrew.vasquez@...gic.com>,
	"James Bottomley" <James.Bottomley@...senPartnership.com>
Cc:	"Adrian Bunk" <bunk@...nel.org>, <linux-kernel@...r.kernel.org>,
	<linux-scsi@...r.kernel.org>
Subject: RE: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

 
Andrew Vasquez wrote:
<snip>
> > > Hmm, guess it's the earlier 'if (scsi_status == 0)' check 
> a few lines
> > > up...  Dave S., can you take a look at this...  Thanks, av
> > 
> > Ah, so the !scsi_status is wrong it was supposed to be 
> scsi_status !=
> > 0 ... and even then it can just be dropped.
> 
> My guess is that the check should have been written as:
> 
> 	...
> 	if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
> 		scsi_set_resid(cmd, residual);
> 		if ((scsi_bufflen(cmd) - residual) < cmd->underflow) {
> 			...
> 
> It looks to be a logic-error while porting from qla2xxx, where
> scsi_status during CS_COMPLETE is the full 16-bit status (high-byte is
> transport, low-byte SCSI status) from from the FCP_RSP frame (not so
> in iSCSI, where it's just the SCSI-status) and the residual check
> in qla_isr.c::qla2x00_status_entry() looks like:
> 
> 	if (!lscsi_status &&
> 	    ((unsigned)(scsi_bufflen(cp) - resid) <
> 	     cp->underflow)) {
> 		...
> 
> I'll defer to Dave S. for verification.
> 
The correct patch needs to be 

Signed-off-by: David C Somayajulu <david.somayajulu@...gic.com>

---

diff --git a/drivers/scsi/qla4xxx/ql4_isr.c
b/drivers/scsi/qla4xxx/ql4_isr.c
index 0f029d0..fc84db4 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -100,8 +100,7 @@ static void qla4xxx_status_entry(struct
 
 		if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
 			scsi_set_resid(cmd, residual);
-			if (!scsi_status && ((scsi_bufflen(cmd) -
residual) <
-				cmd->underflow)) {
+			if ((scsi_bufflen(cmd) - residual) <
cmd->underflow) {
 
 				cmd->result = DID_ERROR << 16;
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ