All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Dick Kennedy <dick.kennedy@broadcom.com>,
	James Smart <james.smart@broadcom.com>,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH 2/2][next] scsi: lpfc: Use struct_size() helper
Date: Tue, 23 May 2023 08:41:59 -0600	[thread overview]
Message-ID: <ZGzQt2VFG4P/Vufn@work> (raw)
In-Reply-To: <202305171601.B3FF9D0BB@keescook>

On Wed, May 17, 2023 at 04:01:47PM -0700, Kees Cook wrote:
> On Wed, May 17, 2023 at 03:23:01PM -0600, Gustavo A. R. Silva wrote:
> > Prefer struct_size() over open-coded versions of idiom:
> > 
> > sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count
> > 
> > where count is the max number of items the flexible array is supposed to
> > contain.
> > 
> > Link: https://github.com/KSPP/linux/issues/160
> > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> > ---
> >  drivers/scsi/lpfc/lpfc_ct.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/scsi/lpfc/lpfc_ct.c b/drivers/scsi/lpfc/lpfc_ct.c
> > index e880d127d7f5..3b95c56023bf 100644
> > --- a/drivers/scsi/lpfc/lpfc_ct.c
> > +++ b/drivers/scsi/lpfc/lpfc_ct.c
> > @@ -3748,8 +3748,7 @@ lpfc_vmid_cmd(struct lpfc_vport *vport,
> >  		rap->obj[0].entity_id_len = vmid->vmid_len;
> >  		memcpy(rap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len);
> >  		size = RAPP_IDENT_OFFSET +
> > -			sizeof(struct lpfc_vmid_rapp_ident_list) +
> > -			sizeof(struct entity_id_object);
> > +			struct_size(rap, obj, rap->no_of_objects);
> 
> Has rap->no_of_objects always been "1"? (i.e. there was a prior
> multiplication here before...

Mmh.. not sure what multiplication you are talking about. I based these
changes on the fact that rap->no_of_objects is set to cpu_to_be32(1);
for both instances. It doesn't show up in the context of the patch, so
here you go:

3747                 rap->no_of_objects = cpu_to_be32(1);
3748                 rap->obj[0].entity_id_len = vmid->vmid_len;
3749                 memcpy(rap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len);
3750                 size = RAPP_IDENT_OFFSET +
3751                         sizeof(struct lpfc_vmid_rapp_ident_list) +
3752                         sizeof(struct entity_id_object);


--
Gustavo

  reply	other threads:[~2023-05-23 14:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-17 21:22 [PATCH 0/2][next] scsi: lpfc: Replace one-element array with flexible-array member Gustavo A. R. Silva
2023-05-17 21:22 ` [PATCH 1/2][next] " Gustavo A. R. Silva
2023-05-17 23:02   ` Kees Cook
2023-05-22 22:02   ` Martin K. Petersen
2023-05-22 22:12     ` Gustavo A. R. Silva
2023-05-23 17:31     ` Kees Cook
2023-05-23 19:46       ` Gustavo A. R. Silva
2023-05-23 20:29         ` Kees Cook
2023-05-17 21:23 ` [PATCH 2/2][next] scsi: lpfc: Use struct_size() helper Gustavo A. R. Silva
2023-05-17 23:01   ` Kees Cook
2023-05-23 14:41     ` Gustavo A. R. Silva [this message]
2023-05-23 17:27       ` Kees Cook
2023-06-01  0:43 ` [PATCH 0/2][next] scsi: lpfc: Replace one-element array with flexible-array member Martin K. Petersen

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=ZGzQt2VFG4P/Vufn@work \
    --to=gustavoars@kernel.org \
    --cc=dick.kennedy@broadcom.com \
    --cc=james.smart@broadcom.com \
    --cc=jejb@linux.ibm.com \
    --cc=keescook@chromium.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /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.