BUG: pdcraid OOPS due to uninitialized variable access

From: Borsenkow Andrej (Andrej.Borsenkow@mow.siemens.ru)
Date: Sun Jul 14 2002 - 12:34:40 EST


On both 2.4.18-6mdk (from 8.2) and in current cooker pdcraid oopses
immediately after insertion. The reason is usage of uninitialized
variable in drivers/ide/pdcraid.c:

static void __init probedisk(int devindex,int device, int raidlevel)
{
        int i;
        int major, minor;
        struct promise_raid_conf *prom;
        static unsigned char block[4096];
        struct block_device *bdev;

        if (devlist[devindex].device!=-1) /* already assigned to another
array
*/
                return;
        if (strcmp("Promise Technology, Inc.",prom->promise_id))
                return; /* magic number must match */
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

here it bails out. prom is initialized later:

       major = devlist[devindex].major;
        minor = devlist[devindex].minor;

        if (read_disk_sb(major,minor,(unsigned
char*)&block,sizeof(block)))
                return;

        prom = (struct promise_raid_conf*)&block[512];

I am sorry, I do not have vanilla kernel so I cannot check if bug is in
general kernel or Mandrake-specific.

-andrej

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 15 2002 - 22:00:28 EST