Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'unmap-fix-20230629' of git://git.infradead.org/users/dwmw2/linux

Pull mm fix from David Woodhouse:
"Fix error return from do_vmi_align_munmap()"

* tag 'unmap-fix-20230629' of git://git.infradead.org/users/dwmw2/linux:
mm/mmap: Fix error return in do_vmi_align_munmap()

+5 -4
+5 -4
mm/mmap.c
··· 2489 2489 } 2490 2490 vma_start_write(next); 2491 2491 mas_set_range(&mas_detach, next->vm_start, next->vm_end - 1); 2492 - if (mas_store_gfp(&mas_detach, next, GFP_KERNEL)) 2492 + error = mas_store_gfp(&mas_detach, next, GFP_KERNEL); 2493 + if (error) 2493 2494 goto munmap_gather_failed; 2494 2495 vma_mark_detached(next, true); 2495 2496 if (next->vm_flags & VM_LOCKED) ··· 2543 2542 BUG_ON(count != test_count); 2544 2543 } 2545 2544 #endif 2546 - /* Point of no return */ 2547 - error = -ENOMEM; 2548 2545 vma_iter_set(vmi, start); 2549 - if (vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL)) 2546 + error = vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL); 2547 + if (error) 2550 2548 goto clear_tree_failed; 2551 2549 2550 + /* Point of no return */ 2552 2551 mm->locked_vm -= locked_vm; 2553 2552 mm->map_count -= count; 2554 2553 /*