aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/vmalloc.c')
-rw-r--r--mm/vmalloc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 4ac776f10ad1..3308007d8427 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -365,7 +365,7 @@ static struct vmap_area *alloc_vmap_area(unsigned long size,
365 BUG_ON(offset_in_page(size)); 365 BUG_ON(offset_in_page(size));
366 BUG_ON(!is_power_of_2(align)); 366 BUG_ON(!is_power_of_2(align));
367 367
368 might_sleep_if(gfpflags_allow_blocking(gfp_mask)); 368 might_sleep();
369 369
370 va = kmalloc_node(sizeof(struct vmap_area), 370 va = kmalloc_node(sizeof(struct vmap_area),
371 gfp_mask & GFP_RECLAIM_MASK, node); 371 gfp_mask & GFP_RECLAIM_MASK, node);
@@ -1037,6 +1037,8 @@ void vm_unmap_aliases(void)
1037 if (unlikely(!vmap_initialized)) 1037 if (unlikely(!vmap_initialized))
1038 return; 1038 return;
1039 1039
1040 might_sleep();
1041
1040 for_each_possible_cpu(cpu) { 1042 for_each_possible_cpu(cpu) {
1041 struct vmap_block_queue *vbq = &per_cpu(vmap_block_queue, cpu); 1043 struct vmap_block_queue *vbq = &per_cpu(vmap_block_queue, cpu);
1042 struct vmap_block *vb; 1044 struct vmap_block *vb;
@@ -1080,6 +1082,7 @@ void vm_unmap_ram(const void *mem, unsigned int count)
1080 unsigned long addr = (unsigned long)mem; 1082 unsigned long addr = (unsigned long)mem;
1081 struct vmap_area *va; 1083 struct vmap_area *va;
1082 1084
1085 might_sleep();
1083 BUG_ON(!addr); 1086 BUG_ON(!addr);
1084 BUG_ON(addr < VMALLOC_START); 1087 BUG_ON(addr < VMALLOC_START);
1085 BUG_ON(addr > VMALLOC_END); 1088 BUG_ON(addr > VMALLOC_END);
@@ -1431,6 +1434,8 @@ struct vm_struct *remove_vm_area(const void *addr)
1431{ 1434{
1432 struct vmap_area *va; 1435 struct vmap_area *va;
1433 1436
1437 might_sleep();
1438
1434 va = find_vmap_area((unsigned long)addr); 1439 va = find_vmap_area((unsigned long)addr);
1435 if (va && va->flags & VM_VM_AREA) { 1440 if (va && va->flags & VM_VM_AREA) {
1436 struct vm_struct *vm = va->vm; 1441 struct vm_struct *vm = va->vm;