提交 199e283b 编写于 作者: T Tang Yizhou 提交者: Yang Yingliang

share_pool: Adjust the position of do_mmap checker

ascend inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4EUVI
CVE: NA

-------------------------------------------------

do_mmap checker should be put before MAP_FIXED.
Signed-off-by: NTang Yizhou <tangyizhou@huawei.com>
Reviewed-by: NWeilong Chen <chenweilong@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 a051590c
...@@ -2351,12 +2351,12 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, ...@@ -2351,12 +2351,12 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
if (len > TASK_SIZE - mmap_min_addr) if (len > TASK_SIZE - mmap_min_addr)
return -ENOMEM; return -ENOMEM;
if (flags & MAP_FIXED)
return addr;
if (sp_check_mmap_addr(addr, flags)) if (sp_check_mmap_addr(addr, flags))
return -EINVAL; return -EINVAL;
if (flags & MAP_FIXED)
return addr;
if (addr) { if (addr) {
addr = PAGE_ALIGN(addr); addr = PAGE_ALIGN(addr);
...@@ -2405,12 +2405,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, ...@@ -2405,12 +2405,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
if (len > TASK_SIZE - mmap_min_addr) if (len > TASK_SIZE - mmap_min_addr)
return -ENOMEM; return -ENOMEM;
if (flags & MAP_FIXED)
return addr;
if (sp_check_mmap_addr(addr, flags)) if (sp_check_mmap_addr(addr, flags))
return -EINVAL; return -EINVAL;
if (flags & MAP_FIXED)
return addr;
/* requesting a specific address */ /* requesting a specific address */
if (addr) { if (addr) {
addr = PAGE_ALIGN(addr); addr = PAGE_ALIGN(addr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册