Re: Linux-2.6.12

From: Hugh Dickins
Date: Mon Jun 20 2005 - 08:48:31 EST


Gosh, I thought from the Subject that you'd taken over from Linus,
and were announcing your new release ;)

On Mon, 20 Jun 2005, Richard B. Johnson wrote:
>
> Attempts to run a driver that worked up to 2.6.11.9 shows that
> it aparently is no longer possible to nest calls to `down`.
> In other words, a procedure that has taken a semaphore can't
> then take another semaphore.
>
> down(&first_resource);
> down(&second_resource);
> ...
> ...
> up(&second_resource);
> up(&first_resource);
>
>
> The error is 'sleeping function called from invalid context....'
>
> ------------[ cut here ]------------
> kernel BUG at mm/memory.c:1112!

No, the error is "kernel BUG at mm/memory.c:1112!", which occurs while
it's holding page table lock, from which it doesn't recover very well.

It's the BUG_ON(!pte_none(*pte)) in remap_pte_range. Maybe your page
table is corrupt, maybe your driver is trying to remap_pfn_range on
top of something already mapped.

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/