Re: [OOPS] 2.5.63 - NULL pointer dereference in loop device

From: Hugh Dickins (hugh@veritas.com)
Date: Wed Feb 26 2003 - 08:32:46 EST


On Tue, 25 Feb 2003, Jonah Sherman wrote:
> On Tue, Feb 25, 2003 at 09:15:56PM +0000, Hugh Dickins wrote:
> > If you "losetup /dev/loop0 /dev/hdN", then it's LO_FLAGS_BH_REMAP
> > and doesn't even call bio_copy: it doesn't copy bio or buffers or
>
> It appears this way if you just look at none_status, but you didn't look
> at loop_init_xfer(). Notice that it doesn't call xfer->init unless
> type != 0, so that flag is infact never set.

Hah! Indeed, thank you for setting me straight.

> > Can you shed more light on how to reproduce this?
>
> The block dev it is being used on must be larger than your RAM. I don't
> have any swap on this machine, so I don't know if it must be bigger than
> that too. Maybe disabling swap before testing this oops will make it
> work?

Yes, I'd tried block dev larger than RAM, with and without swap:
no luck. Perhaps my disks somehow keep up with the stuff coming
down from /dev/zero but yours don't? (No disgrace!) But never mind,
Andrew has a surer way to hit it.

> In any case, the patch sent by Andrew Morton fixed this bug.

Andrew's patch for this is a thing of great beauty, a shining beacon
to inspire all whose eyes are graced by it. But I'd still have liked
to understand why it's needed in your case not mine: it's a bit
embarrassing for me to claim I have patches for various loopmem
hangs, yet be unable to reproduce this.

Hugh

-
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 : Fri Feb 28 2003 - 22:00:35 EST