From: Rasmus Villemoes Date: Tue, 7 Apr 2015 23:44:33 +0000 (+1000) Subject: mm/mmap.c: use while instead of if+goto X-Git-Tag: KARO-TXA5-2015-06-26~18^2~281 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5e1822a7fdffc04c1fb442014617eef1440f3166;p=karo-tx-linux.git mm/mmap.c: use while instead of if+goto The creators of the C language gave us the while keyword. Let's use that instead of synthesizing it from if+goto. Made possible by 6597d783397a ("mm/mmap.c: replace find_vma_prepare() with clearer find_vma_links()"). Signed-off-by: Rasmus Villemoes Cc: "Kirill A. Shutemov" Cc: Sasha Levin Cc: Cyrill Gorcunov Cc: Roman Gushchin Cc: Hugh Dickins Signed-off-by: Andrew Morton --- diff --git a/mm/mmap.c b/mm/mmap.c index e65cbe0d64fc..508ef01128a7 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1551,11 +1551,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr, /* Clear old maps */ error = -ENOMEM; -munmap_back: - if (find_vma_links(mm, addr, addr + len, &prev, &rb_link, &rb_parent)) { + while (find_vma_links(mm, addr, addr + len, &prev, &rb_link, &rb_parent)) { if (do_munmap(mm, addr, len)) return -ENOMEM; - goto munmap_back; } /* @@ -2739,11 +2737,9 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) /* * Clear old maps. this also does some error checking for us */ - munmap_back: - if (find_vma_links(mm, addr, addr + len, &prev, &rb_link, &rb_parent)) { + while (find_vma_links(mm, addr, addr + len, &prev, &rb_link, &rb_parent)) { if (do_munmap(mm, addr, len)) return -ENOMEM; - goto munmap_back; } /* Check against address space limits *after* clearing old maps... */