Messages in this thread |  | | | Date | Wed, 20 Feb 2008 07:52:30 +0100 | | From | Ingo Molnar <> | | Subject | Re: [PATCH] mm: fix dma_poor_create |
* Yinghai Lu <Yinghai.Lu@Sun.COM> wrote:
> dev_to_node could return node that without RAM. So check it before use
> it in kmalloc_node
> - retval = kmalloc_node(sizeof(*retval), GFP_KERNEL, dev_to_node(dev));
> + node = dev_to_node(dev);
> + if (node == -1 || !node_online(node))
> + node = numa_node_id();
> +
> + retval = kmalloc_node(sizeof(*retval), GFP_KERNEL, node);
so this is about not crashing during bootup on nodes that have CPUs but
which have no node-specific memory attached, right?
Shouldnt kmalloc_node() be made more robust instead? I.e. push the same
code into kmalloc_node() - and make sure it will allocate _something_?
That would probably also fix a similar bug in net/core/skbuff.c's
__netdev_alloc_skb(), which too passes a dev_to_node() result to an
allocator.
Ingo
|  |