Re: Booting 2.5.67-ac1 makes the kernel panic

From: Andries Brouwer (aebr@win.tue.nl)
Date: Fri Apr 18 2003 - 18:11:47 EST


On Fri, Apr 18, 2003 at 03:34:23PM -0700, Christian Staudenmayer wrote:

> (sorry for posting this again, but the kind solution given
> by Patrick Mansfield turn out to be no solution at all.
> Thanks anyways :)
>
> i recently compiled 2.5.67-ac1 on my machine which uses the
> aic7xxx driver for an old adaptec 2940 scsi controller.
> When booting, the kernel panics after loading the scsi driver
> with the following message:
>
> Process swapper (pid: 1, threadinfo=dbf8e000 task=dbf8c040)
> Stack: c15259a8 c15259a8 00000001 00000002 dbf8fe48 c022cd1a c15259a8 000000ff
> dbf8fe3c dbf8fe40
> Call Trace:
> [<c022cd1a>] ide_xlate_1024+0x106/0x18c
> [<c01654aa>] handle_ide_mess+0x14e/0x1e8

You have a SCSI disk, read its partitions, look whether
special disk manager or geometry translations are required
and crash.

Why? Of course Alan should have removed this ide_mess :-),
but I suppose Al is the culprit that broke ide_xlate_1024
converting it to bdev.

The code

int ide_xlate_1024 (struct block_device *bdev, int xparm, int ptheads, const char *msg)
{
        ide_drive_t *drive = bdev->bd_disk->private_data;

is just broken - there is no guarantee that bdev is an IDE disk,
and casting some private pointer to ide_drive_t and then
accessing fields must be unhealthy.

Try replacing the body of ide_xlate_1024 by just

        return 0;

Andries

-
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 : Wed Apr 23 2003 - 22:00:25 EST