The patch titled emu10k1: remove redundant memset has been added to the -mm tree. Its filename is emu10k1-remove-redundant-memset.patch *** 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 ------------------------------------------------------ Subject: emu10k1: remove redundant memset From: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx> This patch removes memset() from snd_emu10k1_fx8010_info() which apparently isn't needed there. Upatched code uses: memset(info, 0, sizeof(info)); where 'info' is a pointer and therefore only first 4 bytes of 'info' gets cleared on a 32bit machine. Anyway looking at the code zeoring this memory region isn't needed at all because the snd_emu10k1_fx8010_info() function initializes all the 'info' fields on its own. So that's why this code works at all in its original form. This patch removes this redundant code. Also snd_emu10k1_fx8010_info() can't fail so lets save some bytes and change its return type to void. Signed-off-by: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- sound/pci/emu10k1/emufx.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) diff -puN sound/pci/emu10k1/emufx.c~emu10k1-remove-redundant-memset sound/pci/emu10k1/emufx.c --- a/sound/pci/emu10k1/emufx.c~emu10k1-remove-redundant-memset +++ a/sound/pci/emu10k1/emufx.c @@ -2440,14 +2440,13 @@ static void copy_string(char *dst, char strcpy(dst, src); } -static int snd_emu10k1_fx8010_info(struct snd_emu10k1 *emu, +static void snd_emu10k1_fx8010_info(struct snd_emu10k1 *emu, struct snd_emu10k1_fx8010_info *info) { char **fxbus, **extin, **extout; unsigned short fxbus_mask, extin_mask, extout_mask; int res; - memset(info, 0, sizeof(info)); info->internal_tram_size = emu->fx8010.itram_size; info->external_tram_size = emu->fx8010.etram_pages.bytes / 2; fxbus = fxbuses; @@ -2464,7 +2463,6 @@ static int snd_emu10k1_fx8010_info(struc for (res = 16; res < 32; res++, extout++) copy_string(info->extout_names[res], extout_mask & (1 << res) ? *extout : NULL, "Unused", res); info->gpr_controls = emu->fx8010.gpr_count; - return 0; } static int snd_emu10k1_fx8010_ioctl(struct snd_hwdep * hw, struct file *file, unsigned int cmd, unsigned long arg) @@ -2485,10 +2483,7 @@ static int snd_emu10k1_fx8010_ioctl(stru info = kmalloc(sizeof(*info), GFP_KERNEL); if (!info) return -ENOMEM; - if ((res = snd_emu10k1_fx8010_info(emu, info)) < 0) { - kfree(info); - return res; - } + snd_emu10k1_fx8010_info(emu, info); if (copy_to_user(argp, info, sizeof(*info))) { kfree(info); return -EFAULT; _ Patches currently in -mm which might be from m.kozlowski@xxxxxxxxxx are fs-cifs-connectc-kmalloc-memset-conversion-to-kzalloc.patch drivers-md-dm-hw-handlerc-kmalloc-memset-conversion-to-kzalloc.patch drivers-md-dm-path-selectorc-kmalloc-memset-conversion-to-kzalloc.patch drivers-md-dm-tablec-kmalloc-memset-conversion-to-kzalloc.patch drivers-md-dm-targetc-kmalloc-memset-conversion-to-kzalloc.patch git-dvb.patch drivers-input-serio-gscps2c-kmalloc-memset-conversion-to-kzalloc.patch drivers-mmc-core-busc-kmalloc-memset-conversion-to-kzalloc.patch drivers-mmc-core-hostc-kmalloc-memset-conversion-to-kzalloc.patch drivers-mmc-core-mmc_opsc-kmalloc-memset-conversion-to-kzalloc.patch git-mtd.patch mtd-add-module-license-to-mtdbdi.patch usb-remove-redundant-memset-from-amd5536udc.patch drivers-net-wan-hdlc_frc-kmalloc-memset-conversion-to-kzalloc.patch drivers-net-irda-irda-usbc-mostly-kmalloc-memset-conversion-to-kalloc.patch drivers-atm-iphasec-mostly-kmalloc-memset-conversion-to-kzalloc.patch dont-optimise-away-baud-rate-changes-when-bother-is-used.patch drivers-scsi-a4000tc-kmalloc-memset-conversion-to-kzalloc.patch drivers-scsi-bvme6000_scsic-kmalloc-memset-conversion-to-kzalloc.patch drivers-scsi-gdthc-kmalloc-memset-conversion-to-kzalloc.patch drivers-scsi-lpfc-lpfc_debugfsc-kmalloc-memset-conversion-to-kcalloc.patch drivers-scsi-lpfc-lpfc_initc-kmalloc-memset-conversion-to-kcalloc.patch drivers-scsi-lpfc-lpfc_scsic-kmalloc-memset-conversion-to-kzalloc.patch drivers-scsi-megaraidc-kmalloc-memset-conversion-to-kzalloc.patch drivers-scsi-dpt_i2oc-kmalloc-memset-conversion-to-kzalloc.patch drivers-message-fusion-mptctlc-mostly-kmalloc-memset-conversion-to-kzalloc.patch drivers-block-ccissc-kmalloc-memset-conversion-to-kzalloc.patch drivers-block-cpqarrayc-better-error-handling-and-kmalloc-memset-conversion-to-kalloc.patch drivers-usb-misc-ftdi-elanc-kmalloc-memset-conversion-to-kzalloc.patch arch-x86_64-kernel-io_apicc-kmalloc-memset-conversion-to-kzalloc.patch include-asm-frv-thread_infoh-kmalloc-memset-conversion-to-kzalloc.patch include-asm-m32r-thread_infoh-kmalloc-memset-conversion-to-kzalloc.patch drivers-char-consolemapc-kmalloc-memset-conversion-to-kzalloc.patch doc-firmware_sample_firmware_classc-kmalloc-memset-conversion-to-kzalloc.patch fs-autofs4-inodec-kmalloc-memset-conversion-to-kzalloc.patch drivers-char-ip2-ip2mainc-kmalloc-memset-conversion-to-kzalloc.patch fs-jbd2-journalc-kmalloc-memset-conversion-to-kzalloc.patch fs-reiser4-plugin-file-cryptcompressc-kmalloc-memset-conversion-to-kzalloc.patch reiser4-kmalloc-memset-conversion-to-kzalloc.patch fs-reiser4-init_superc-kmalloc-memset-conversion-to-kzalloc.patch fs-reiser4-plugin-inode_ops_renamec-kmalloc-memset-conversion-to-kzalloc.patch fs-reiser4-ktxnmgrdc-kmalloc-memset-conversion-to-kzalloc.patch emu10k1-remove-redundant-memset.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