[lkml]   [2002]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] stop null ptr deference in __alloc_pages
    Summary: Avoid null ptr defererence in __alloc_pages
    This exists in 2.4. and 2.5

    Configuration: a NUMA (ia32) system which only has highmem
    on one or more nodes.

    Action to create: Try to allocate ZONE_NORMAL memory
    from a node which only has highmem. What we should do
    is fall back to another node, looking for ZONE_NORMAL

    In looking at the specified zonelist, we panic because that zonelist
    is NULL. The simple patch below avoids the null deference, and
    returns failure. alloc_pages will continue looking through the nodes
    until it finds one with some ZONE_NORMAL memory. We actually
    panic at the moment a few lines later when we do,
    classzone->need_balance = 1; thus dereferencing the pointer.

    --- linux-2.4.18-memalloc/mm/page_alloc.c.old Fri Mar 8 18:21:41 2002
    +++ linux-2.4.18-memalloc/mm/page_alloc.c Fri Mar 8 18:23:27 2002
    @@ -317,6 +317,8 @@

    zone = zonelist->zones;
    classzone = *zone;
    + if (classzone == NULL)
    + return NULL;
    min = 1UL << order;
    for (;;) {
    zone_t *z = *(zone++);
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:24    [W:0.021 / U:90.020 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site