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 <linmiaohe@huawei.com> Acked-by: David Hildenbrand <david@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
f433195679
Коммит
3c9fe8b8f5
|
@ -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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче