From: James Smart <James.Smart@Emulex.Com>
To: Jesper Juhl <jesper.juhl@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-scsi@vger.kernel.org,
James Bottomley <James.Bottomley@steeleye.com>
Subject: Re: [PATCH 4/6][RESEND] Emulex FC HBA driver: fix overflow of statically allocated array
Date: Mon, 13 Aug 2007 06:56:35 -0400 [thread overview]
Message-ID: <46C038E3.5090204@emulex.com> (raw)
In-Reply-To: <200708130021.07068.jesper.juhl@gmail.com>
NACK
The fix is contained in our 8.2.2 sources recently posted and pushed by James
as part of his last scsi fixes.
-- james s
Jesper Juhl wrote:
> (previously send on 09-Aug-2007 20:47)
>
> Hi,
>
> The Coverity checker noticed that we may overrun a statically allocated
> array in drivers/scsi/lpfc/lpfc_sli.c::lpfc_sli_hbqbuf_find().
>
> The case is this; In 'struct lpfc_hba' we have
>
> #define LPFC_MAX_HBQS 4
> ...
> struct lpfc_hba {
> ...
> struct hbq_s hbqs[LPFC_MAX_HBQS];
> ...
> };
>
> But then in lpfc_sli_hbqbuf_find() we have this code
>
> hbqno = tag >> 16;
> if (hbqno > LPFC_MAX_HBQS)
> return NULL;
>
> if 'hbqno' ends up as exactely 4, then we won't return, and then this
>
> list_for_each_entry(d_buf, &phba->hbqs[hbqno].hbq_buffer_list, list) {
>
> will cause an overflow of the statically allocated array at index 4,
> since the valid indices are only 0-3.
>
> I propose this patch, that simply changes the 'hbqno > LPFC_MAX_HBQS'
> into 'hbqno >= LPFC_MAX_HBQS' as a possible fix.
>
>
> Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
> Acked-by: James Smart <james.smart@emulex.com>
> ---
>
> drivers/scsi/lpfc/lpfc_sli.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
> index ce5ff2b..e5337ad 100644
> --- a/drivers/scsi/lpfc/lpfc_sli.c
> +++ b/drivers/scsi/lpfc/lpfc_sli.c
> @@ -675,7 +675,7 @@ lpfc_sli_hbqbuf_find(struct lpfc_hba *phba, uint32_t tag)
> uint32_t hbqno;
>
> hbqno = tag >> 16;
> - if (hbqno > LPFC_MAX_HBQS)
> + if (hbqno >= LPFC_MAX_HBQS)
> return NULL;
>
> list_for_each_entry(d_buf, &phba->hbqs[hbqno].hbq_buffer_list, list) {
>
>
>
>
next prev parent reply other threads:[~2007-08-13 10:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200708130016.11281.jesper.juhl@gmail.com>
2007-08-12 22:19 ` [PATCH 3/6][RESEND] Reduce size of the xterm-linux.xpm image by 12 bytes Jesper Juhl
2007-08-12 22:21 ` [PATCH 4/6][RESEND] Emulex FC HBA driver: fix overflow of statically allocated array Jesper Juhl
2007-08-13 10:56 ` James Smart [this message]
2007-08-13 11:15 ` Jesper Juhl
2007-08-13 13:10 ` James Smart
2007-08-13 15:01 ` Jesper Juhl
2007-08-12 22:21 ` [PATCH 5/6][RESEND] fix tiny spelling error in comment in cfi_cmdset_0001.c Jesper Juhl
2007-08-12 22:22 ` [PATCH 6/6][RESEND] Avoid possible NULL pointer deref in 3c359 driver Jesper Juhl
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=46C038E3.5090204@emulex.com \
--to=james.smart@emulex.com \
--cc=James.Bottomley@steeleye.com \
--cc=akpm@linux-foundation.org \
--cc=jesper.juhl@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@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.