Dan, It looks good. Thanks. Regards, Quinn Tran -----Original Message----- From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Saturday, September 8, 2018 at 1:42 AM To: Dept-Eng QLA2xxx Upstream <qla2xxx-upstream@xxxxxxxxxx>, "Tran, Quinn" <Quinn.Tran@xxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxxxx>, "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>, "linux-scsi@xxxxxxxxxxxxxxx" <linux-scsi@xxxxxxxxxxxxxxx>, "Madhani, Himanshu" <Himanshu.Madhani@xxxxxxxxxx>, "kernel-janitors@xxxxxxxxxxxxxxx" <kernel-janitors@xxxxxxxxxxxxxxx> Subject: [PATCH] scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted() External Email We should first do the le16_to_cpu endian conversion and then apply the FCP_CMD_LENGTH_MASK mask. Fixes: 5f35509db179 ("qla2xxx: Terminate exchange if corrupted") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- I just happened to spot this when I was reviewing something unrelated. I don't have the hardware to test it, so please review carefully. diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index fecf96f0225c..199d3ba1916d 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -374,8 +374,8 @@ struct atio_from_isp { static inline int fcpcmd_is_corrupted(struct atio *atio) { if (atio->entry_type == ATIO_TYPE7 && - (le16_to_cpu(atio->attr_n_length & FCP_CMD_LENGTH_MASK) < - FCP_CMD_LENGTH_MIN)) + ((le16_to_cpu(atio->attr_n_length) & FCP_CMD_LENGTH_MASK) < + FCP_CMD_LENGTH_MIN)) return 1; else return 0;