[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220401081023.37080-1-linmiaohe@huawei.com>
Date:   Fri, 1 Apr 2022 16:10:23 +0800
From:   Miaohe Lin <linmiaohe@...wei.com>
To:     <akpm@...ux-foundation.org>
CC:     <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>,
        <linmiaohe@...wei.com>
Subject: [PATCH] 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.
Signed-off-by: Miaohe Lin <linmiaohe@...wei.com>
---
 mm/mremap.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/mremap.c b/mm/mremap.c
index e776d4c2345c..dd966621a056 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -817,9 +817,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;
 	}
-- 
2.23.0
Powered by blists - more mailing lists
 
