lkml.org 
[lkml]   [2010]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 09 of 66] clear compound mapping
    Date
    From
    From: Andrea Arcangeli <aarcange@redhat.com>

    Clear compound mapping for anonymous compound pages like it already happens for
    regular anonymous pages. But crash if mapping is set for any tail page, also
    the PageAnon check is meaningless for tail pages. This check only makes sense
    for the head page, for tail page it can only hide bugs and we definitely don't
    want to hide bugs.

    Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    Acked-by: Rik van Riel <riel@redhat.com>
    Acked-by: Mel Gorman <mel@csn.ul.ie>
    ---

    diff --git a/mm/page_alloc.c b/mm/page_alloc.c
    --- a/mm/page_alloc.c
    +++ b/mm/page_alloc.c
    @@ -646,13 +646,10 @@ static bool free_pages_prepare(struct pa
    trace_mm_page_free_direct(page, order);
    kmemcheck_free_shadow(page, order);

    - for (i = 0; i < (1 << order); i++) {
    - struct page *pg = page + i;
    -
    - if (PageAnon(pg))
    - pg->mapping = NULL;
    - bad += free_pages_check(pg);
    - }
    + if (PageAnon(page))
    + page->mapping = NULL;
    + for (i = 0; i < (1 << order); i++)
    + bad += free_pages_check(page + i);
    if (bad)
    return false;


    \
     
     \ /
      Last update: 2010-11-03 16:35    [W:4.030 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site