* 2.6.23 regression: lpfc_sli.c: off-by-10
@ 2007-07-23 0:32 Adrian Bunk
2007-07-24 13:24 ` James Smart
0 siblings, 1 reply; 2+ messages in thread
From: Adrian Bunk @ 2007-07-23 0:32 UTC (permalink / raw)
To: James Smart, James Bottomley; +Cc: linux-kernel, linux-scsi, Michal Piotrowski
The Coverity checker spotted the following off-by-10
in drivers/scsi/lpfc/lpfc_sli.c:
<-- snip -->
...
static int
lpfc_sli_process_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
struct lpfc_iocbq *saveq)
{
...
saveq->context3 = lpfc_sli_replace_hbqbuff(phba,
irsp->un.ulpWord[15]);
...
<-- snip -->
due to the following code in drivers/scsi/lpfc/lpfc_hw.h:
<-- snip -->
...
#define IOCB_WORD_SZ 8
...
typedef struct _IOCB { /* IOCB structure */
...
uint32_t ulpWord[IOCB_WORD_SZ - 2]; /* generic 6 'words' */
...
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: 2.6.23 regression: lpfc_sli.c: off-by-10
2007-07-23 0:32 2.6.23 regression: lpfc_sli.c: off-by-10 Adrian Bunk
@ 2007-07-24 13:24 ` James Smart
0 siblings, 0 replies; 2+ messages in thread
From: James Smart @ 2007-07-24 13:24 UTC (permalink / raw)
To: Adrian Bunk; +Cc: James Bottomley, linux-kernel, linux-scsi, Michal Piotrowski
Adrian,
Thanks.
Syntax-wise, it is incorrect. However there's no risk. The datastructure
its indexing into is a union, and its size is sufficient for the index.
The union supports old and new firmware interfaces. We mistakenly used the
array for the old interface and should have used the (larger) array for
the newer interface.
We're posting a set of fixes later this week and will include the fix for
this.
-- james s
Adrian Bunk wrote:
> The Coverity checker spotted the following off-by-10
> in drivers/scsi/lpfc/lpfc_sli.c:
>
>
> <-- snip -->
>
> ...
> static int
> lpfc_sli_process_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
> struct lpfc_iocbq *saveq)
> {
> ...
> saveq->context3 = lpfc_sli_replace_hbqbuff(phba,
> irsp->un.ulpWord[15]);
> ...
>
> <-- snip -->
>
>
> due to the following code in drivers/scsi/lpfc/lpfc_hw.h:
>
>
> <-- snip -->
>
> ...
> #define IOCB_WORD_SZ 8
> ...
> typedef struct _IOCB { /* IOCB structure */
> ...
> uint32_t ulpWord[IOCB_WORD_SZ - 2]; /* generic 6 'words' */
> ...
>
> <-- snip -->
>
>
> cu
> Adrian
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-07-24 13:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-23 0:32 2.6.23 regression: lpfc_sli.c: off-by-10 Adrian Bunk
2007-07-24 13:24 ` James Smart
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).