kernel BUG at page_alloc.c:85 (iounmap)

From: Timur Tabi (ttabi@interactivesi.com)
Date: Fri Sep 22 2000 - 19:11:25 EDT

  • Next message: Linus Torvalds: "test9-pre6"

    I have a driver which calls marks a physical page as PG_Reserved, calls
    ioremap_nocache() on it, performs a non-destructive memory write, and then
    calls iounmap(). I have a recurring problem which I can't figure out. After
    28 such map/unmap calls, I get an error in page_alloc.c on line 85. This is
    with 2.4.0-test2. The offending line is in function __free_pages_ok:

            if (page->buffers)
                    BUG();

    My guess is that the page I'm trying to map with iounmap() has a non-zero value
    of buffers before I map it, but ioremap() doesn't care about that. But when I
    go to iounmap it, then it checks buffers and complains.

    Is this correct? And if so, what does 'buffers' do?

    -- 
    Timur Tabi - ttabi@interactivesi.com
    Interactive Silicon - http://www.interactivesi.com
    

    When replying to a mailing-list message, please don't cc: me, because then I'll just get two copies of the same message. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri Sep 22 2000 - 19:12:27 EDT