]> Git Repo - linux.git/commit
mm/mmap.c: fix mmap return value when vma is merged after call_mmap()
authorLiu Zixian <[email protected]>
Sun, 6 Dec 2020 06:15:15 +0000 (22:15 -0800)
committerLinus Torvalds <[email protected]>
Sun, 6 Dec 2020 18:19:07 +0000 (10:19 -0800)
commit309d08d9b3a3659ab3f239d27d4e38b670b08fc9
tree989f191d033e2a58ba5d546bc2782036c9daf173
parent7a5bde37983d37783161681ff7c6122dfd081791
mm/mmap.c: fix mmap return value when vma is merged after call_mmap()

On success, mmap should return the begin address of newly mapped area,
but patch "mm: mmap: merge vma after call_mmap() if possible" set
vm_start of newly merged vma to return value addr.  Users of mmap will
get wrong address if vma is merged after call_mmap().  We fix this by
moving the assignment to addr before merging vma.

We have a driver which changes vm_flags, and this bug is found by our
testcases.

Fixes: d70cec898324 ("mm: mmap: merge vma after call_mmap() if possible")
Signed-off-by: Liu Zixian <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Reviewed-by: Jason Gunthorpe <[email protected]>
Reviewed-by: David Hildenbrand <[email protected]>
Cc: Miaohe Lin <[email protected]>
Cc: Hongxiang Lou <[email protected]>
Cc: Hu Shiyuan <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Linus Torvalds <[email protected]>
mm/mmap.c
This page took 0.049236 seconds and 4 git commands to generate.