From: Miaohe Lin Date: Fri, 29 Apr 2022 06:16:14 +0000 (-0700) Subject: mm/mremap: avoid unneeded do_munmap call X-Git-Tag: v5.19-rc1~138^2~290 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3c9fe8b8f5e3e30bfa81eeeff4bc34c0fb67b739;p=tomoyo%2Ftomoyo-test1.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; }