From 3d1b1c7e92b73c6b0b5b5999f2e8d4f3d75882b9 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Fri, 29 Jan 2021 09:51:46 -0500 Subject: [PATCH] mm/mmap: Fix mmap_region code chunk location of Can addr.. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 47319d6c5bcc..e569d1cb0a3f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2557,6 +2557,17 @@ cannot_expand: if (error) goto unmap_and_free_vma; + /* Can addr have changed?? + * + * Answer: Yes, several device drivers can do it in their + * f_op->mmap method. -DaveM + * Bug: If addr is changed, prev and the maple tree data should + * be updated for vma_link() + */ + WARN_ON_ONCE(addr != vma->vm_start); + + addr = vma->vm_start; + /* If vm_flags changed after call_mmap(), we should try merge vma again * as we may succeed this time. */ @@ -2584,16 +2595,6 @@ cannot_expand: } } - /* Can addr have changed?? - * - * Answer: Yes, several device drivers can do it in their - * f_op->mmap method. -DaveM - * Bug: If addr is changed, prev and the maple tree data should - * be updated for vma_link() - */ - WARN_ON_ONCE(addr != vma->vm_start); - - addr = vma->vm_start; vm_flags = vma->vm_flags; } else if (vm_flags & VM_SHARED) { error = shmem_zero_setup(vma); -- 2.50.1