The patch titled drivers/char/tpm/tpm.c: fix error-patch memory leak has been added to the -mm tree. Its filename is drivers-char-tpm-tpmc-fix-error-patch-memory-leak.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://www.zip.com.au/~akpm/linux/patches/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: drivers/char/tpm/tpm.c: fix error-patch memory leak From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> tpm_register_hardware() leaks devname on an error path. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11425 Reported-by: Daniel Marjamki <danielm77@xxxxxxxx> Cc: Debora Velarde <debora@xxxxxxxxxxxxxxxxxx> Cc: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> Cc: Marcel Selhorst <tpm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/char/tpm/tpm.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff -puN drivers/char/tpm/tpm.c~drivers-char-tpm-tpmc-fix-error-patch-memory-leak drivers/char/tpm/tpm.c --- a/drivers/char/tpm/tpm.c~drivers-char-tpm-tpmc-fix-error-patch-memory-leak +++ a/drivers/char/tpm/tpm.c @@ -1186,11 +1186,8 @@ struct tpm_chip *tpm_register_hardware(s chip = kzalloc(sizeof(*chip), GFP_KERNEL); devname = kmalloc(DEVNAME_SIZE, GFP_KERNEL); - if (chip == NULL || devname == NULL) { - kfree(chip); - kfree(devname); - return NULL; - } + if (chip == NULL || devname == NULL) + goto out_free; mutex_init(&chip->buffer_mutex); mutex_init(&chip->tpm_mutex); @@ -1207,8 +1204,7 @@ struct tpm_chip *tpm_register_hardware(s if (chip->dev_num >= TPM_NUM_DEVICES) { dev_err(dev, "No available tpm device numbers\n"); - kfree(chip); - return NULL; + goto out_free; } else if (chip->dev_num == 0) chip->vendor.miscdev.minor = TPM_MINOR; else @@ -1246,6 +1242,11 @@ struct tpm_chip *tpm_register_hardware(s spin_unlock(&driver_lock); return chip; + +out_free: + kfree(chip); + kfree(devname); + return NULL; } EXPORT_SYMBOL_GPL(tpm_register_hardware); _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are origin.patch vfs-fix-dio-write-returning-eio-when-try_to_release_page-fails-fix.patch acer-wmi-remove-debugfs-entries-upon-unloading-cleanup.patch seq_file-fix-bug-when-seq_read-reads-nothing.patch linux-next.patch next-remove-localversion.patch drivers-mfd-ucb1400_corec-needs-gpio.patch drivers-mfd-ucb1400_corec-further-unbork.patch kbuild-ftrace-dont-assume-that-scripts-recordmcountpl-is-executable.patch acpi-ec-dont-degrade-to-poll-mode-at-storm-automatically-cleanup.patch zero-based-percpu-use-vmlinux_symbol-in-include-asm-generic-vmlinuxldsh.patch fs-sysfs-dirc-remove-unused-__sysfs_get_dentry.patch tick-schedc-suppress-needless-timer-reprogramming.patch drivers-input-touchscreen-ucb1400_tsc-needs-gpio.patch git-jg-misc.patch led-driver-for-leds-on-pcengines-alix2-and-alix3-boards.patch git-ubi-git-rejects.patch sundance-set-carrier-status-on-link-change-events.patch cassini-use-request_firmware.patch backlight-driver-for-tabletkiosk-sahara-touchit-213-tablet-pc.patch backlight-driver-for-tabletkiosk-sahara-touchit-213-tablet-pc-update-2-checkpatch-fixes.patch power-support-for-texas-instruments-bq27x00-battery-managers.patch drivers-pci-hotplug-ibmphp_ebdac-list_for_each-to-list_for_each_entry-checkpatch-fixes.patch pci-tidy-pme-support-messages-checkpatch-fixes.patch scsi-gdthc-use-unaligned-access-helpers.patch drivers-scsi-device_handler-scsi_dh_emcc-suppress-warning.patch git-watchdog.patch git-xtensa.patch scsi-dpt_i2o-is-bust-on-ia64.patch mm-page_allocc-free_area_init_nodes-fix-inappropriate-use-of-enum.patch vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch vm-dont-run-touch_buffer-during-buffercache-lookups.patch vmscan-move-isolate_lru_page-to-vmscanc.patch define-page_file_cache-function.patch vmscan-split-lru-lists-into-anon-file-sets.patch unevictable-lru-infrastructure.patch unevictable-lru-page-statistics.patch mlock-mlocked-pages-are-unevictable.patch mlock-mlocked-pages-are-unevictable-fix.patch mmap-handle-mlocked-pages-during-map-remap-unmap.patch mmap-handle-mlocked-pages-during-map-remap-unmap-mlock-resubmit-locked_vm-adjustment-as-separate-patch-fix.patch vmscan-unevictable-lru-scan-sysctl.patch mlock-make-mlock-error-return-posixly-correct-fix.patch mm-rewrite-vmap-layer-fix.patch mm-rewrite-vmap-layer-fix-fix.patch h8300-generic_bug-support-checkpatch-fixes.patch pm-rework-disabling-of-user-mode-helpers-during-suspend-hibernation-cleanup.patch container-freezer-implement-freezer-cgroup-subsystem-checkpatch-fixes.patch fix-a-race-condtion-of-oops_in_progress-fix.patch vsprintf-use-new-vsprintf-symbolic-function-pointer-format-cleanup.patch autofs4-track-uid-and-gid-of-last-mount-requester-fix.patch autofs4-add-miscellaneous-device-for-ioctls-fix.patch autofs4-add-miscellaneous-device-for-ioctls-fix-2.patch autofs4-add-miscellaneous-device-for-ioctls-fix-fix-3.patch rtc-add-device-driver-for-dallas-ds3234-spi-rtc-chip-fix.patch fb-push-down-the-bkl-in-the-ioctl-handler-checkpatch-fixes.patch viafb-viafbmodes-viafbtxt-fix-fix.patch viafb-accelc-accelh-checkpatch-fixes.patch viafb-dvic-dvih-globalc-and-globalh-checkpatch-fixes.patch viafb-hwc-hwh-checkpatch-fixes.patch viafb-viafbdevc-viafbdevh-checkpatch-fixes.patch fbdev-kconfig-update-fix.patch eink_apollofb-new-driver-for-apollo-eink-controller.patch cgroups-fix-probable-race-with-put_css_set-and-find_css_set-fix.patch memrlimit-add-memrlimit-controller-accounting-and-control-mm_owner-fix-checkpatch-fixes.patch applicomc-fix-apparently-broken-code-in-do_ac_read.patch drivers-char-tpm-tpmc-fix-error-patch-memory-leak.patch gcov-architecture-specific-compile-flag-adjustments-powerpc-moved-stuff.patch nilfs2-continuous-snapshotting-file-system-fix.patch nilfs2-continuous-snapshotting-file-system-fix-fix-2.patch reiser4.patch reiser4-tree_lock-fixes.patch reiser4-tree_lock-fixes-fix.patch reiser4-semaphore-fix.patch slb-drop-kmem-cache-argument-from-constructor-reiser4.patch reiser4-suid.patch reiser4-track-upstream-changes.patch page-owner-tracking-leak-detector.patch nr_blockdev_pages-in_interrupt-warning.patch slab-leaks3-default-y.patch put_bh-debug.patch shrink_slab-handle-bad-shrinkers.patch getblk-handle-2tb-devices.patch getblk-handle-2tb-devices-fix.patch undeprecate-pci_find_device.patch notify_change-callers-must-hold-i_mutex.patch profile-likely-unlikely-macros.patch drivers-net-bonding-bond_sysfsc-suppress-uninitialized-var-warning.patch w1-build-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