The patch titled tty: lock ticogwinsz has been removed from the -mm tree. Its filename is tty-lock-ticogwinsz.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: tty: lock ticogwinsz From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Now we lock the set ioctl its trivial to lock the get one so the data copied is consistent. At the moment we have the BKL here but this removes the need for it and is a step in the right direction Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/char/tty_io.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff -puN drivers/char/tty_io.c~tty-lock-ticogwinsz drivers/char/tty_io.c --- a/drivers/char/tty_io.c~tty-lock-ticogwinsz +++ a/drivers/char/tty_io.c @@ -2740,18 +2740,21 @@ static int tiocsti(struct tty_struct *tt * @tty; tty * @arg: user buffer for result * - * Copies the kernel idea of the window size into the user buffer. No - * locking is done. + * Copies the kernel idea of the window size into the user buffer. * - * FIXME: Returning random values racing a window size set is wrong - * should lock here against that + * Locking: tty->termios_sem is taken to ensure the winsize data + * is consistent. */ static int tiocgwinsz(struct tty_struct *tty, struct winsize __user * arg) { - if (copy_to_user(arg, &tty->winsize, sizeof(*arg))) - return -EFAULT; - return 0; + int err; + + down(&tty->termios_sem); + err = copy_to_user(arg, &tty->winsize, sizeof(*arg)); + up(&tty->termios_sem); + + return err ? -EFAULT: 0; } /** _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are origin.patch git-agpgart.patch fix-gregkh-driver-nozomi.patch git-dvb.patch libata-add-40pin-short-cable-support-honour-drive.patch via-pata-controller-xfer-fixes.patch edac-new-opteron-athlon64-memory-controller-driver.patch edac-new-opteron-athlon64-memory-controller-driver-tidy.patch ahci-ati-sb600-sata-support-for-various-modes.patch serial-fix-up-offenders-peering-at-baud-bits-directly.patch pci-via82cxxx_audio-use-pci_get_device.patch pci-cs46xx-oss-switch-to-pci_get_device.patch pci-piix-use-refcounted-interface-when-searching-for-a-450nx.patch pci-serverworks-switch-to-pci-refcounted-interfaces.patch pci-sis5513-switch-to-pci-refcounting.patch pci-via-switch-to-pci_get_device-refcounted-pci-api.patch ip2-use-newer-pci_get-functions.patch i2o-switch-to-pci_get-api.patch cardbus-switch-to-ref-counting-hotplug-safe-api.patch char-specialix-kill-unneeded-page-alloc.patch ioremap-balanced-with-iounmap-for-drivers-serial-8250_acorn.patch ioremap-balanced-with-iounmap-for-drivers-serial-8250_gsc.patch ioremap-balanced-with-iounmap-for-drivers-serial-ioc4_serial.patch ioremap-balanced-with-iounmap-for-drivers-serial-ip22zilog.patch ioremap-balanced-with-iounmap-for-drivers-serial-mpc52xx_uart.patch ioremap-balanced-with-iounmap-for-drivers-serial-mpsc.patch ioremap-balanced-with-iounmap-for-drivers-serial-mux.patch ioremap-balanced-with-iounmap-for-drivers-serial-sunsu.patch support-piping-into-commands-in-proc-sys-kernel-core_pattern.patch support-piping-into-commands-in-proc-sys-kernel-core_pattern-fix-2.patch pci-mxser-pci-refcounts.patch mxser-make-an-experimental-clone.patch char-mxser_new-correct-include-file.patch char-mxser_new-upgrade-to-191.patch char-mxser_new-rework-to-allow-dynamic-structs.patch non-libata-driver-for-jmicron-devices.patch ide-claim-extra-dma-ports-regardless-of-channel.patch ide-always-release-dma-engine.patch ide-error-handling-fixes.patch ide-hpt3xxn-clocking-fixes.patch ide-fix-hpt37x-timing-tables.patch ide-optimize-hpt37x-timing-tables.patch ide-fix-hpt3xx-hotswap-support.patch ide-fix-the-case-of-multiple-hpt3xx-chips-present.patch ide-hpt3xx-fix-pci-clock-detection.patch ide-hpt3xx-fix-pci-clock-detection-fix-2.patch piix-fix-82371mx-enablebits.patch piix-remove-check-for-broken-mw-dma-mode-0.patch piix-slc90e66-pio-mode-fallback-fix.patch make-number-of-ide-interfaces-configurable.patch ide_dma_speed-fixes.patch hpt3xx-rework-rate-filtering.patch hpt3xx-rework-rate-filtering-tidy.patch hpt3xx-print-the-real-chip-name-at-startup.patch hpt3xx-switch-to-using-pci_get_slot.patch hpt3xx-cache-channels-mcr-address.patch hpt3x7-merge-speedproc-handlers.patch hpt370-clean-up-dma-timeout-handling.patch enable-cdrom-dma-access-with-pdc20265_old.patch ide-fix-revision-comparison-in-ide_in_drive_list.patch ide-backport-piix-fixes-from-libata-into-the-legacy-driver.patch hpt3xx-init-code-rewrite.patch move-ide-to-unmaintained-drop-reference-to-old-git-tree.patch drivers-ide-cleanups.patch ide-remove-dma_base2-field-from-ide_hwif_t.patch ide-reprogram-disk-pio-timings-on-resume.patch config_pm=n-slim-drivers-ide-pci-sc1200c.patch ide-fix-crash-on-repeated-reset.patch ide-fix-crash-on-repeated-reset-tidy.patch sstfb-clean-ups.patch pci_module_init-convertion-in-ata_genericc.patch pci_module_init-convertion-in-ata_genericc-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