aboutsummaryrefslogtreecommitdiff
path: root/mm/vmalloc.c
diff options
context:
space:
mode:
authorronaxdevil <pratabidya.007@gmail.com>2020-06-06 12:16:58 +0530
committerlucasponez <lucasponez@outlook.com>2020-12-06 05:32:19 -0800
commitc9d101bffe7b6a10fddc18bc7a2d0dc0962ed71f (patch)
treecc92c8d9bbff0f97a4036908f210b2adb2adaf1a /mm/vmalloc.c
parent13ba6318ccffd7e3167f514ac34358ab74ff6b6c (diff)
Merge tag 'v3.18.140' of https://source.codeaurora.org/quic/la/kernel/msm-3.18 into android-10-release-qpk30.54r11.0
This is the 3.18.140 stable release gpg: Signature made Thu 16 May 2019 12:47:33 PM IST gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E Signed-off-by: ronaxdevil <pratabidya.007@gmail.com>
Diffstat (limited to 'mm/vmalloc.c')
-rw-r--r--mm/vmalloc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d002804adb25..e5947c1dba08 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -520,7 +520,11 @@ nocache:
}
found:
- if (addr + size > vend)
+ /*
+ * Check also calculated address against the vstart,
+ * because it can be 0 because of big align request.
+ */
+ if (addr + size > vend || addr < vstart)
goto overflow;
va->va_start = addr;
@@ -2362,7 +2366,7 @@ int remap_vmalloc_range_partial(struct vm_area_struct *vma, unsigned long uaddr,
if (!(area->flags & VM_USERMAP))
return -EINVAL;
- if (kaddr + size > area->addr + area->size)
+ if (kaddr + size > area->addr + get_vm_area_size(area))
return -EINVAL;
do {