It puts two 2kB temp areas on the stack, which is
guaranteed to overflow a 4kB stack if that path
is ever taken.
Both marked in the source, and both should be easy
to fix but need testing.
Found by Jörn Engel.
substantial, so users of MultiMaster Host Adapters may wish to omit
it.
+#
+# This is marked broken because it uses over 4kB of stack in
+# just two routines:
+# 2076 CpqTsProcessIMQEntry
+# 2052 PeekIMQEntry
+#
config SCSI_CPQFCTS
tristate "Compaq Fibre Channel 64-bit/66Mhz HBA support"
- depends on PCI && SCSI
+ depends on PCI && SCSI && BROKEN
help
Say Y here to compile in support for the Compaq StorageWorks Fibre
Channel 64-bit/66Mhz Host Bus Adapter.
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
USHORT SFQpi = (USHORT)(fcChip->IMQ->QEntry[CI].word[0] & 0x0fffL);
ULONG x_ID;
ULONG ulBuff, dwStatus;
TachFCHDR_GCMND* fchs;
+#error This is too much stack
ULONG ulFibreFrame[2048/4]; // max number of DWORDS in incoming Fibre Frame
UCHAR ucInboundMessageType; // Inbound CM, dword 3 "type" field