The patch titled mm-install_special_mapping-skips-security_file_mmap-check-fix has been added to the -mm tree. Its filename is mm-install_special_mapping-skips-security_file_mmap-check-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: mm-install_special_mapping-skips-security_file_mmap-check-fix From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> preserve security_file_mmap() and insert_vm_struct return values Cc: <stable@xxxxxxxxxx> Cc: Eugene Teo <eugene@xxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Kees Cook <kees.cook@xxxxxxxxxxxxx> Cc: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Cc: Robert Swiecki <swiecki@xxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxxxxx> Cc: Tavis Ormandy <taviso@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/mmap.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff -puN mm/mmap.c~mm-install_special_mapping-skips-security_file_mmap-check-fix mm/mmap.c --- a/mm/mmap.c~mm-install_special_mapping-skips-security_file_mmap-check-fix +++ a/mm/mmap.c @@ -2463,6 +2463,7 @@ int install_special_mapping(struct mm_st unsigned long vm_flags, struct page **pages) { struct vm_area_struct *vma; + int ret; vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); if (unlikely(vma == NULL)) @@ -2479,21 +2480,21 @@ int install_special_mapping(struct mm_st vma->vm_ops = &special_mapping_vmops; vma->vm_private_data = pages; - if (security_file_mmap(NULL, 0, 0, 0, vma->vm_start, 1)) { - kmem_cache_free(vm_area_cachep, vma); - return -EPERM; - } - - if (unlikely(insert_vm_struct(mm, vma))) { - kmem_cache_free(vm_area_cachep, vma); - return -ENOMEM; - } + ret = security_file_mmap(NULL, 0, 0, 0, vma->vm_start, 1); + if (ret < 0) + goto out; + + ret = insert_vm_struct(mm, vma); + if (ret < 0) + goto out; mm->total_vm += len >> PAGE_SHIFT; perf_event_mmap(vma); - return 0; +out: + kmem_cache_free(vm_area_cachep, vma); + return ret; } static DEFINE_MUTEX(mm_all_locks_mutex); _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are linux-next.patch next-remove-localversion.patch i-need-old-gcc.patch aesni-nfg.patch arch-alpha-kernel-systblss-remove-debug-check.patch mm-install_special_mapping-skips-security_file_mmap-check-fix.patch mm-vmap-area-cache.patch arch-x86-kernel-apic-io_apicc-fix-warning.patch drivers-gpu-drm-radeon-atomc-fix-warning.patch headers_check-better-search-for-functions-in-headers-fix.patch headers_check-better-search-for-functions-in-headers-fix-checkpatch-fixes.patch leds-route-kbd-leds-through-the-generic-leds-layer.patch atmel_serial-fix-rts-high-after-initialization-in-rs485-mode-fix.patch drivers-message-fusion-mptsasc-fix-warning.patch mm.patch mm-vmstat-use-a-single-setter-function-and-callback-for-adjusting-percpu-thresholds-fix.patch writeback-check-skipped-pages-on-wb_sync_all-update-fix.patch writeback-make-nr_to_write-a-per-file-limit-fix.patch sync_inode_metadata-fix-comment.patch fs-mpagec-consolidate-code-checkpatch-fixes.patch mm-vmscan-reclaim-order-0-and-use-compaction-instead-of-lumpy-reclaim-fix.patch mm-migration-allow-migration-to-operate-asynchronously-and-avoid-synchronous-compaction-in-the-faster-path-fix.patch mm-deactivate-invalidated-pages-fix.patch rwsem-implement-rwsem_is_contended-checkpatch-fixes.patch frv-duplicate-output_buffer-of-e03-checkpatch-fixes.patch hpet-factor-timer-allocate-from-open.patch include-linux-kernelh-abs-fix-handling-of-32-bit-unsigneds-on-64-bit.patch include-linux-kernelh-abs-fix-handling-of-32-bit-unsigneds-on-64-bit-fix.patch fs-select-fix-information-leak-to-userspace-fix.patch drivers-telephony-ixjc-fix-warning.patch memcg-document-cgroup-dirty-memory-interfaces-fix.patch fs-proc-basec-kernel-latencytopc-convert-sprintf_symbol-to-%ps-checkpatch-fixes.patch exec_domain-establish-a-linux32-domain-on-config_compat-systems.patch user_ns-improve-the-user_ns-on-the-slab-packaging-fix.patch pps-add-async-pps-event-handler-fix.patch journal_add_journal_head-debug.patch slab-leaks3-default-y.patch put_bh-debug.patch getblk-handle-2tb-devices.patch memblock-add-input-size-checking-to-memblock_find_region.patch memblock-add-input-size-checking-to-memblock_find_region-fix.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html