lkml.org 
[lkml]   [2006]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 1/2] fix call to alloc_bootmem after bootmem has been freed
    On Wed, 15 Nov 2006 19:32:38 +0100
    Christian Krafft <krafft@de.ibm.com> wrote:

    > In some cases it might happen, that alloc_bootmem is beeing called
    > after bootmem pages have been freed. This is, because the condition
    > SYSTEM_BOOTING is still true after bootmem has been freed.
    >
    > Signed-off-by: Christian Krafft <krafft@de.ibm.com>
    >
    > Index: linux/mm/page_alloc.c
    > ===================================================================
    > --- linux.orig/mm/page_alloc.c
    > +++ linux/mm/page_alloc.c
    > @@ -1931,7 +1931,7 @@ int zone_wait_table_init(struct zone *zo
    > alloc_size = zone->wait_table_hash_nr_entries
    > * sizeof(wait_queue_head_t);
    >
    > - if (system_state == SYSTEM_BOOTING) {
    > + if (!slab_is_available()) {
    > zone->wait_table = (wait_queue_head_t *)
    > alloc_bootmem_node(pgdat, alloc_size);
    > } else {

    I don't think that slab_is_available() is an appropriate way of working out
    if we can call vmalloc().

    Also, a more complete description of the problem is needed, please. Which
    caller is incorrectly allocating bootmem?

    -
    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/

    \
     
     \ /
      Last update: 2006-11-21 17:59    [W:0.029 / U:1.880 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site