Re: [BUG] kernel BUG at arch/i386/mm/highmem.c:15! on 2.6.23-rc8/rc9

From: Hugh Dickins
Date: Thu Oct 04 2007 - 12:54:35 EST


On Thu, 4 Oct 2007, Linus Torvalds wrote:
>
> Ouch.

Very much so.

>
> The patch looks obviously correct, to the point that I don't understand
> how this bug happened in the first place. It seems to have been
> introduced by Nick in d0217ac04ca6591841e5665f518e38064f4e65bd ("mm: fault
> feedback #1") if I read it right.

Yes, I think you are reading that right.

>
> So "do_nonlinear_fault()" would effectively end up unmapping the PTE
> twice, right? And if I understand the problem right, this wasn't noticed
> immediately, because it probably only matters on:
>
> - CONFIG_HIGHPTE
> *and*
> - a filesystem that allows VM_NONLINEAR, which became very rare with
> dirty accounting.
>
> Correct?

Correct. And though I eventually realized the nonlinear dirty accounting
issue (which I did highlight in the patch comment), I'd forgotten all
about needing CONFIG_HIGHPTE in addition to CONFIG_HIGHMEM - yes, that
increased the probability of overlooking it too.

No excuses that we did miss it in all these months those patches have
been around; but it's an object lesson in the trouble rare paths give.

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