On Fri, Nov 16, 2001 at 02:23:44PM -0800, Simon Kirby wrote:
> This box has Oopsed twice but is still running. Both Oopses followed a
> BUG() report (same in both cases):
>
> kernel BUG at page_alloc.c:76!
>
> Which maps to:
>
> if (page->mapping)
> BUG();
>
> ...in __free_pages_ok() in mm/page_alloc.c.
I think this one liner (diffed against 2.4.14) could fix this Oops:
--- mm/vmscan.c.vanilla Sat Nov 17 23:37:01 2001
+++ mm/vmscan.c Sat Nov 17 23:39:04 2001
@@ -414,10 +414,9 @@
* the page as well.
*/
if (page->buffers) {
- spin_unlock(&pagemap_lru_lock);
-
/* avoid to free a locked page */
page_cache_get(page);
+ spin_unlock(&pagemap_lru_lock);
if (try_to_free_buffers(page, gfp_mask)) {
if (!page->mapping) {
regards Christian
-- THAT'S ALL FOLKS! - 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 Nov 23 2001 - 21:00:16 EST