Re: [RFC v2 1/3] mm/vmalloc: fix possible exhaustion of vmalloc space caused by vm_map_ram allocator

From: Andrew Morton
Date: Tue Mar 24 2015 - 18:01:00 EST


On Thu, 19 Mar 2015 23:04:39 +0900 Roman Pen <r.peniaev@xxxxxxxxx> wrote:

> If suitable block can't be found, new block is allocated and put into a head
> of a free list, so on next iteration this new block will be found first.
>
> ...
>
> Cc: stable@xxxxxxxxxxxxxxx
>
> ...
>
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -837,7 +837,7 @@ static struct vmap_block *new_vmap_block(gfp_t gfp_mask)
>
> vbq = &get_cpu_var(vmap_block_queue);
> spin_lock(&vbq->lock);
> - list_add_rcu(&vb->free_list, &vbq->free);
> + list_add_tail_rcu(&vb->free_list, &vbq->free);
> spin_unlock(&vbq->lock);
> put_cpu_var(vmap_block_queue);
>

I'm not sure about the cc:stable here. There is potential for
unexpected side-effects and I don't *think* people are hurting from
this issue in real life. Or maybe I'm wrong about that?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/