All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <Bart.VanAssche@sandisk.com>
To: "hch@infradead.org" <hch@infradead.org>,
	"himanshu.madhani@cavium.com" <himanshu.madhani@cavium.com>,
	"target-devel@vger.kernel.org" <target-devel@vger.kernel.org>,
	"nab@linux-iscsi.org" <nab@linux-iscsi.org>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"giridhar.malavali@cavium.com" <giridhar.malavali@cavium.com>
Subject: Re: [PATCH v2 07/10] qla2xxx: Terminate exchange if corrputed.
Date: Fri, 23 Dec 2016 09:01:41 +0000	[thread overview]
Message-ID: <1482483679.3510.9.camel@sandisk.com> (raw)
In-Reply-To: <1482357459-31079-8-git-send-email-himanshu.madhani@cavium.com>

On Wed, 2016-12-21 at 13:57 -0800, Himanshu Madhani wrote:
> diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
> index f7df01b..b14455e 100644
> --- a/drivers/scsi/qla2xxx/qla_def.h
> +++ b/drivers/scsi/qla2xxx/qla_def.h
> @@ -1556,7 +1556,8 @@ struct link_statistics {
>  struct atio {
>  	uint8_t		entry_type;		/* Entry type. */
>  	uint8_t		entry_count;		/* Entry count. */
> -	uint8_t		data[58];
> +	uint16_t	attr_n_length;
> +	uint8_t		data[56];
>  	uint32_t	signature;
>  #define ATIO_PROCESSED 0xDEADDEAD		/* Signature */
> };

Are struct atio and/or struct atio_from_isp the description of a firmware
data structure? If so, do all firmware versions initialize the attr_n_length
field or is there a minimum firmware version required for this field to be
valid? Please mention any changed dependencies on the firmware version in the
patch description. Please also fix the typo in the patch title when reposting
this patch ("corrputed").

> +			/* This packet is corrupted. The header + payload
> +			 * can not be trusted. There is no point in passing
> +			 * it further up.
> +			 */

This is not the proper Linux kernel comment style (see also
Documentation/process/coding-style.rst).

> diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h
> index f26c5f6..f31d343 100644
> --- a/drivers/scsi/qla2xxx/qla_target.h
> +++ b/drivers/scsi/qla2xxx/qla_target.h
> @@ -427,13 +427,33 @@ struct atio_from_isp {
>  		struct {
>  			uint8_t  entry_type;	/* Entry type. */
>  			uint8_t  entry_count;	/* Entry count. */
> -			uint8_t  data[58];
> +			uint16_t attr_n_length;
> +#define FCP_CMD_LENGTH_MASK 0x0fff
> +#define FCP_CMD_LENGTH_MIN  0x38
> +			uint8_t  data[56];
>  			uint32_t signature;
>  #define ATIO_PROCESSED 0xDEADDEAD		/* Signature */
>  		} raw;
>  	} u;
>  } __packed;
>  
> +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))
> +		return 1;
> +	else
> +		return 0;
> +}

The above code shows that attr_n_length is a little endian field so please
declare it as little endian where appropriate (__le16 instead of uint16_t).

Bart.

  reply	other threads:[~2016-12-23  9:02 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-21 21:57 [PATCH v2 00/10] qla2xxx: Bug fixes for driver Himanshu Madhani
2016-12-21 21:57 ` [PATCH v2 01/10] qla2xxx: Fix wrong IOCB type assumption Himanshu Madhani
2016-12-21 21:57 ` [PATCH v2 02/10] qla2xxx: Include ATIO queue in firmware dump when in target mode Himanshu Madhani
2016-12-23  8:32   ` Bart Van Assche
2016-12-24  0:37     ` Madhani, Himanshu
2016-12-21 21:57 ` [PATCH v2 03/10] qla2xxx: Set tcm_qla2xxx version to automatically track qla2xxx version Himanshu Madhani
2016-12-21 21:57 ` [PATCH v2 04/10] qla2xxx: Reset reserved field in firmware options to 0 Himanshu Madhani
2016-12-23  8:37   ` Bart Van Assche
2016-12-24  0:07     ` Madhani, Himanshu
2016-12-21 21:57 ` [PATCH v2 05/10] qla2xxx: Collect additional information to debug fw dump Himanshu Madhani
2016-12-21 21:57 ` [PATCH v2 06/10] qla2xxx: Fix crash due to null pointer access Himanshu Madhani
2016-12-23  8:47   ` Bart Van Assche
2016-12-24  0:06     ` Madhani, Himanshu
2016-12-21 21:57 ` [PATCH v2 07/10] qla2xxx: Terminate exchange if corrputed Himanshu Madhani
2016-12-23  9:01   ` Bart Van Assche [this message]
2016-12-23 23:55     ` Madhani, Himanshu
2016-12-21 21:57 ` [PATCH v2 08/10] qla2xxx: Reduce exess wait during chip reset Himanshu Madhani
2016-12-21 21:57 ` [PATCH v2 09/10] qla2xxx: Fix invalid handle erroneous message Himanshu Madhani
2016-12-21 21:57 ` [PATCH v2 10/10] qla2xxx: Disable Out-of-order processing by default in Firmware Himanshu Madhani
2016-12-22  9:25 ` [PATCH v2 00/10] qla2xxx: Bug fixes for driver Christoph Hellwig
2016-12-22 16:44   ` Madhani, Himanshu
2016-12-22 17:02     ` Bart Van Assche
2016-12-22 17:27       ` Madhani, Himanshu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1482483679.3510.9.camel@sandisk.com \
    --to=bart.vanassche@sandisk.com \
    --cc=giridhar.malavali@cavium.com \
    --cc=hch@infradead.org \
    --cc=himanshu.madhani@cavium.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=target-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.