On Thursday 04 August 2005 12:38, Rolf Eike Beer wrote:
> Saripalli, Venkata Ramanamurthy (STSD) wrote:
> >Patch 1 of 2
> >
> >This patch fixes the "#error this is too much stack" in 2.6 kernel.
> >Using kmalloc to allocate memory to ulFibreFrame.
>
> Good idea.
>
> >Please consider this for inclusion
>
> Your patch is line-wrapped and can't be applied. Your second patch is also
> line wrapped. And it touches this file in a different way so they can't be
> applied cleanly over each other.
>
> >diff -burpN old/drivers/scsi/cpqfcTScontrol.c
> >new/drivers/scsi/cpqfcTScontrol.c
> >--- old/drivers/scsi/cpqfcTScontrol.c 2005-07-12 22:52:29.000000000
> >+0530
> >+++ new/drivers/scsi/cpqfcTScontrol.c 2005-07-18 22:19:54.229947176
> >+0530
> >@@ -606,22 +606,25 @@ static int PeekIMQEntry( PTACHYON fcChip
> > if( (fcChip->IMQ->QEntry[CI].type & 0x1FF) == 0x104 )
> > {
> > TachFCHDR_GCMND* fchs;
> >-#error This is too much stack
> >- ULONG ulFibreFrame[2048/4]; // max DWORDS in incoming FC
> >Frame
> >+ ULONG *ulFibreFrame; // max DWORDS in incoming FC Frame
> > USHORT SFQpi = (USHORT)(fcChip->IMQ->QEntry[CI].word[0] &
> >0x0fffL);
>
> Why not use a void* here as type for the buffer? Or even better: remove this
> at all and directly use fchs as target, because this is the only place where
> this buffer goes to?
>
> >+ ulFibreFrame = kmalloc((2048/4), GFP_KERNEL);
>
> The size bug was already found by Dave Jones. This never should be written
> this way (not your fault). The array should have been [2048/sizeof(ULONG)].
Also you need to check for NULL return.
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|