The patch titled isicom: fix buffer allocation has been added to the -mm tree. Its filename is isicom-fix-buffer-allocation.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: isicom: fix buffer allocation From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Fix the rather strange buffer management on open that turned up while auditing for BKL dependencies. Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Cc: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/char/isicom.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff -puN drivers/char/isicom.c~isicom-fix-buffer-allocation drivers/char/isicom.c --- a/drivers/char/isicom.c~isicom-fix-buffer-allocation +++ a/drivers/char/isicom.c @@ -813,15 +813,13 @@ static int isicom_setup_port(struct isi_ return 0; if (!port->xmit_buf) { /* Relies on BKL */ - void *xmit_buf = (void *)get_zeroed_page(GFP_KERNEL); - - if (xmit_buf == NULL) + unsigned long page = get_zeroed_page(GFP_KERNEL); + if (page == 0) return -ENOMEM; - if (port->xmit_buf) { - free_page((unsigned long)xmit_buf); - return -ERESTARTSYS; - } - port->xmit_buf = xmit_buf; + if (port->xmit_buf) + free_page(page); + else + port->xmit_buf = (unsigned char *) page; } spin_lock_irqsave(&card->card_lock, flags); _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are origin.patch vt-fix-background-color-on-line-feed.patch proc-convert-proc-tty-ldiscs-to-seq_file-interface.patch edac-new-support-for-intel-3100-chipset.patch edac-add-e752x-parameter-for-sysbus_parity-selection.patch edac-remove-unneeded-functions-and-add-static-accessor.patch edac-fix-module-initialization-on-several-modules-2nd-time.patch add-time_is_after_jiffies-and-others-which-compare-with-jiffies.patch libata-more-tsstcorp-pain-keep-in-sync-with-legacy-ide.patch pata_atiixp-simplex-clear.patch pata_via-fix-6410-misdetect.patch 8390-split-8390-support-into-a-pausing-and-a-non-pausing-driver-core.patch parisc-new-termios-definitions.patch do_task_stat-dont-take-rcu_read_lock.patch amiserial-prepare-for-locking-relaxation-in-caller.patch cyclades-prepare-for-relaxed-locking-in-callers.patch epca-lock_kernel-push-down.patch esp-lock_kernel-push-down.patch isicom-prepare-for-lock_kernel-push-down.patch isicom-istallion-prepare-for-lock_kernel-pushdown.patch mxser-prepare-for-bkl-pushdown.patch riscom8-prepare-for-bkl-pushdown.patch rocket-prepare-for-bkl-pushdown.patch serial167-prepare-to-push-bkl-down-into-drivers.patch specialix-prepare-for-bkl-pushdown.patch stallion-prepare-for-bkl-push-down.patch sx-prepare-for-bkl-pushdown.patch synclink-series-prepare-for-bkl-pushdown.patch viocons-bkl-locking.patch vt_ioctl-prepare-for-bkl-push-down.patch isdn_tty-prepare-for-bkl-push-down.patch 68360serial-note-that-there-isnt-any-info-mcr-locking.patch serial_core-prepare-for-bkl-push-down.patch tty-bkl-pushdown.patch tty-bkl-pushdown-fix1.patch redo-locking-of-tty-pgrp.patch resume-tty-on-susp-and-fix-crnl-order-in-n_tty-line-discipline.patch tty_io-fix-remaining-pid-struct-locking.patch tty_io-fix-remaining-pid-struct-locking-small-cleanup.patch tty_ioctl-locking-for-tty_wait_until_sent.patch tty_ioctl-soft-carrier-handling.patch tty-drop-the-bkl-for-driver-ldisc-ioctl-methods.patch sxc-fix-printk-warnings-on-sparc32.patch istallion-tiocg-ssoftcar-handling-removal.patch cyclades-coding-style-review.patch cyclades-use-ioremap_nocache-for-clarity-as-proposed.patch tty-serial-lay-the-foundations-for-the-next-set-of-reworks.patch s390-tty-prepare-for-put_char-to-return-success-fail.patch serial-m68k-put_char-returns.patch usb-gadget-switch-to-put_char-returning-int.patch amiserial-switch-put-char-to-return-success-fail.patch char-switch-gs-cyclades-and-esp-to-return-int-for-put_char.patch mxser-switch-to-put_char-being-int.patch pcmcia-serial-to-int-put_char-method.patch riscom-rocket-switch-to-int-put_char-method.patch serial167-switch-to-int-put_char-method.patch specialix-switch-to-int-put_char-method.patch synclink-series-switch-to-int-put_char-method.patch consoles-switch-to-int-put_char-method.patch isdn-switch-to-int-put_char-method.patch pty-prepare-for-tty-ops-changes.patch pc300-update-to-tty_set_operations.patch serial-switch-the-serial-core-to-int-put_char-methods.patch isicom-bring-into-coding-style.patch isicom-bring-into-coding-style-fix.patch tty-the-big-operations-rework.patch tty-the-big-operations-rework-broke-wan-x25_asy-fix.patch tty-the-big-operations-rework-fix-2.patch tty-the-big-operations-rework-isicom-fix.patch tty-the-big-operations-rework-simserial-fix.patch strip-fix-up-strip-for-the-new-order.patch tty-the-big-operations-rework-vs-git-kgdb-light.patch tty-the-big-operations-rework-vs-kgdb-2.patch riscom8-coding-style.patch epca-coding-style.patch esp-clean-up-to-modern-coding-style.patch toshiba-use-ioremap_cached.patch isicom-fix-buffer-allocation.patch put_pid-make-sure-we-dont-free-the-live-pid.patch tty-add-throttle-unthrottle-helpers.patch ip2-switch-remaining-direct-call-of-ops-flush_buffer.patch x25_asy-code-cleanup.patch 8250-switch-8250-drivers-to-use-_nocache-ioremaps.patch maintainers-sort-ordering.patch char-serial-switch-drivers-to-ioremap_nocache.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