diff options
-rw-r--r-- | mm/mmap.c | 17 | ||||
-rw-r--r-- | mm/mremap.c | 7 |
2 files changed, 3 insertions, 21 deletions
@@ -978,7 +978,6 @@ static unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, | |||
978 | struct mm_struct * mm = current->mm; | 978 | struct mm_struct * mm = current->mm; |
979 | struct inode *inode; | 979 | struct inode *inode; |
980 | vm_flags_t vm_flags; | 980 | vm_flags_t vm_flags; |
981 | int error; | ||
982 | 981 | ||
983 | /* | 982 | /* |
984 | * Does the application expect PROT_READ to imply PROT_EXEC? | 983 | * Does the application expect PROT_READ to imply PROT_EXEC? |
@@ -1100,10 +1099,6 @@ static unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, | |||
1100 | } | 1099 | } |
1101 | } | 1100 | } |
1102 | 1101 | ||
1103 | error = security_mmap_addr(addr); | ||
1104 | if (error) | ||
1105 | return error; | ||
1106 | |||
1107 | return mmap_region(file, addr, len, flags, vm_flags, pgoff); | 1102 | return mmap_region(file, addr, len, flags, vm_flags, pgoff); |
1108 | } | 1103 | } |
1109 | 1104 | ||
@@ -1633,7 +1628,9 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, | |||
1633 | if (addr & ~PAGE_MASK) | 1628 | if (addr & ~PAGE_MASK) |
1634 | return -EINVAL; | 1629 | return -EINVAL; |
1635 | 1630 | ||
1636 | return arch_rebalance_pgtables(addr, len); | 1631 | addr = arch_rebalance_pgtables(addr, len); |
1632 | error = security_mmap_addr(addr); | ||
1633 | return error ? error : addr; | ||
1637 | } | 1634 | } |
1638 | 1635 | ||
1639 | EXPORT_SYMBOL(get_unmapped_area); | 1636 | EXPORT_SYMBOL(get_unmapped_area); |
@@ -2210,10 +2207,6 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) | |||
2210 | if (!len) | 2207 | if (!len) |
2211 | return addr; | 2208 | return addr; |
2212 | 2209 | ||
2213 | error = security_mmap_addr(addr); | ||
2214 | if (error) | ||
2215 | return error; | ||
2216 | |||
2217 | flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; | 2210 | flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; |
2218 | 2211 | ||
2219 | error = get_unmapped_area(NULL, addr, len, 0, MAP_FIXED); | 2212 | error = get_unmapped_area(NULL, addr, len, 0, MAP_FIXED); |
@@ -2566,10 +2559,6 @@ int install_special_mapping(struct mm_struct *mm, | |||
2566 | vma->vm_ops = &special_mapping_vmops; | 2559 | vma->vm_ops = &special_mapping_vmops; |
2567 | vma->vm_private_data = pages; | 2560 | vma->vm_private_data = pages; |
2568 | 2561 | ||
2569 | ret = security_mmap_addr(vma->vm_start); | ||
2570 | if (ret) | ||
2571 | goto out; | ||
2572 | |||
2573 | ret = insert_vm_struct(mm, vma); | 2562 | ret = insert_vm_struct(mm, vma); |
2574 | if (ret) | 2563 | if (ret) |
2575 | goto out; | 2564 | goto out; |
diff --git a/mm/mremap.c b/mm/mremap.c index ebf10892b63d..21fed202ddad 100644 --- a/mm/mremap.c +++ b/mm/mremap.c | |||
@@ -371,10 +371,6 @@ static unsigned long mremap_to(unsigned long addr, | |||
371 | if ((addr <= new_addr) && (addr+old_len) > new_addr) | 371 | if ((addr <= new_addr) && (addr+old_len) > new_addr) |
372 | goto out; | 372 | goto out; |
373 | 373 | ||
374 | ret = security_mmap_addr(new_addr); | ||
375 | if (ret) | ||
376 | goto out; | ||
377 | |||
378 | ret = do_munmap(mm, new_addr, new_len); | 374 | ret = do_munmap(mm, new_addr, new_len); |
379 | if (ret) | 375 | if (ret) |
380 | goto out; | 376 | goto out; |
@@ -532,9 +528,6 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, | |||
532 | goto out; | 528 | goto out; |
533 | } | 529 | } |
534 | 530 | ||
535 | ret = security_mmap_addr(new_addr); | ||
536 | if (ret) | ||
537 | goto out; | ||
538 | ret = move_vma(vma, addr, old_len, new_len, new_addr); | 531 | ret = move_vma(vma, addr, old_len, new_len, new_addr); |
539 | } | 532 | } |
540 | out: | 533 | out: |