vmalloc: fix use of non-existent percpu variable in put_cpu_var()
vmalloc used non-existent percpu variable vmap_cpu_blocks instead of the intended vmap_block_queue. This went unnoticed because put_cpu_var() didn't evaluate the parameter. Fix it. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Nick Piggin <npiggin@suse.de>
This commit is contained in:
Родитель
dec54bf538
Коммит
3f04ba8595
|
@ -760,7 +760,7 @@ static struct vmap_block *new_vmap_block(gfp_t gfp_mask)
|
|||
spin_lock(&vbq->lock);
|
||||
list_add(&vb->free_list, &vbq->free);
|
||||
spin_unlock(&vbq->lock);
|
||||
put_cpu_var(vmap_cpu_blocks);
|
||||
put_cpu_var(vmap_block_queue);
|
||||
|
||||
return vb;
|
||||
}
|
||||
|
@ -825,7 +825,7 @@ again:
|
|||
}
|
||||
spin_unlock(&vb->lock);
|
||||
}
|
||||
put_cpu_var(vmap_cpu_blocks);
|
||||
put_cpu_var(vmap_block_queue);
|
||||
rcu_read_unlock();
|
||||
|
||||
if (!addr) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче