From: Miaohe Lin Date: Thu, 14 Apr 2022 06:07:08 +0000 (-0700) Subject: mm/mremap: avoid unneeded do_munmap call X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b9b1a9bcad264ccbfcbdba834074b09731fef566;p=users%2Fjedix%2Flinux-maple.git mm/mremap: avoid unneeded do_munmap call When old_len == new_len, do_munmap will return -EINVAL due to len == 0. This errno will be simply ignored because of old_len != new_len check. So it is unnecessary to call do_munmap when old_len == new_len because nothing is actually done. Link: https://lkml.kernel.org/r/20220401081023.37080-1-linmiaohe@huawei.com Signed-off-by: Miaohe Lin Acked-by: David Hildenbrand Signed-off-by: Andrew Morton --- diff --git a/mm/mremap.c b/mm/mremap.c index f2a53d53f1b9..98f50e633009 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -820,9 +820,9 @@ static unsigned long mremap_to(unsigned long addr, unsigned long old_len, goto out; } - if (old_len >= new_len) { + if (old_len > new_len) { ret = do_munmap(mm, addr+new_len, old_len - new_len, uf_unmap); - if (ret && old_len != new_len) + if (ret) goto out; old_len = new_len; }