The patch titled hugetlb-do-not-allow-pagesize-=-max_order-pool-adjustment-fix has been added to the -mm tree. Its filename is hugetlb-do-not-allow-pagesize-=-max_order-pool-adjustment-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: hugetlb-do-not-allow-pagesize-=-max_order-pool-adjustment-fix From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> avoid multiple return paths in nr_hugepages_store_common() Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: CAI Qian <caiqian@xxxxxxxxxx> Cc: Eric B Munson <emunson@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/hugetlb.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff -puN mm/hugetlb.c~hugetlb-do-not-allow-pagesize-=-max_order-pool-adjustment-fix mm/hugetlb.c --- a/mm/hugetlb.c~hugetlb-do-not-allow-pagesize-=-max_order-pool-adjustment-fix +++ a/mm/hugetlb.c @@ -1363,6 +1363,7 @@ static ssize_t nr_hugepages_show_common( return sprintf(buf, "%lu\n", nr_huge_pages); } + static ssize_t nr_hugepages_store_common(bool obey_mempolicy, struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t len) @@ -1375,15 +1376,14 @@ static ssize_t nr_hugepages_store_common err = strict_strtoul(buf, 10, &count); if (err) { - NODEMASK_FREE(nodes_allowed); - return 0; + err = 0; /* This seems wrong */ + goto out; } h = kobj_to_hstate(kobj, &nid); - if (h->order >= MAX_ORDER) { - NODEMASK_FREE(nodes_allowed); - return -EINVAL; + err = -EINVAL; + goto out; } if (nid == NUMA_NO_NODE) { @@ -1411,6 +1411,9 @@ static ssize_t nr_hugepages_store_common NODEMASK_FREE(nodes_allowed); return len; +out: + NODEMASK_FREE(nodes_allowed); + return err; } static ssize_t nr_hugepages_show(struct kobject *kobj, _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are linux-next.patch next-remove-localversion.patch i-need-old-gcc.patch arch-alpha-kernel-systblss-remove-debug-check.patch arch-alpha-include-asm-ioh-s-extern-inline-static-inline.patch mm-vmap-area-cache.patch drivers-gpu-drm-radeon-atomc-fix-warning.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 mlock-only-hold-mmap_sem-in-shared-mode-when-faulting-in-pages-fix.patch mlock-do-not-hold-mmap_sem-for-extended-periods-of-time-fix.patch mlock-do-not-hold-mmap_sem-for-extended-periods-of-time-fix2.patch writeback-avoid-unnecessary-determine_dirtyable_memory-call-fix.patch thp-pte-alloc-trans-splitting-fix-checkpatch-fixes.patch thp-khugepaged-make-khugepaged-aware-of-madvise-fix.patch mm-migration-use-rcu_dereference_protected-when-dereferencing-the-radix-tree-slot-during-file-page-migration-fix.patch mm-hugetlbc-fix-error-path-memory-leak-in-nr_hugepages_store_common-fix.patch brk-fix-min_brk-lower-bound-computation-for-compat_brk-fix.patch mm-page_allocc-simplify-calculation-of-combined-index-of-adjacent-buddy-lists-checkpatch-fixes.patch mm-page_allocc-simplify-calculation-of-combined-index-of-adjacent-buddy-lists-fix.patch mm-dmapoolc-use-task_uninterruptible-in-dma_pool_alloc.patch hugetlb-check-the-return-value-of-string-conversion-in-sysctl-handler-fix.patch hugetlb-do-not-allow-pagesize-=-max_order-pool-adjustment-fix.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 include-linux-unaligned-packed_structh-use-__packed.patch ihex-fix-unused-return-value-compiler-warning-fix.patch kptr_restrict-for-hiding-kernel-pointers-from-unprivileged-users.patch kptr_restrict-for-hiding-kernel-pointers-from-unprivileged-users-fix.patch kptr_restrict-for-hiding-kernel-pointers-v7-fix.patch fs-select-fix-information-leak-to-userspace-fix.patch lib-hexdumpc-make-hex2bin-return-the-updated-src-address.patch fs-binfmt_miscc-use-kernels-hex_to_bin-method-fix.patch fs-binfmt_miscc-use-kernels-hex_to_bin-method-fix-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 sysctl-remove-obsolete-comments-fix.patch user_ns-improve-the-user_ns-on-the-slab-packaging-fix.patch pps-add-parallel-port-pps-signal-generator-fix.patch memstick-factor-out-transfer-initiating-functionality-in-mspro_blockc-fix.patch cramfs-generate-unique-inode-number-for-better-inode-cache-usage-fix.patch cramfs-generate-unique-inode-number-for-better-inode-cache-usage-checkpatch-fixes.patch ramoops-fix-types-remove-typecasts.patch journal_add_journal_head-debug.patch slab-leaks3-default-y.patch put_bh-debug.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