The patch titled tty: lock ticogwinsz has been added to the -mm tree. Its filename is tty-lock-ticogwinsz.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ 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 files 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 tty-layer-comment-the-locking-assumptions-and-functions.patch fix-tty-layer-dos-and-comment-relevant-code.patch git-libata-all.patch 1-of-2-jmicron-driver.patch 1-of-2-jmicron-driver-hard_port_no-fix.patch 2-of-2-jmicron-driver-plumbing-and-quirk.patch non-libata-driver-for-jmicron-devices.patch via-pata-controller-xfer-fixes.patch git-net.patch netfilter-make-unused-signal-code-go-away-so-nobody-copies-its-broken-ness.patch megaraid-gcc-41-warning-fix.patch voyager-tty-locking.patch edac-new-opteron-athlon64-memory-controller-driver.patch edac-new-opteron-athlon64-memory-controller-driver-tidy.patch sanitize-3c589_cs.patch make-prot_write-imply-prot_read.patch sgiioc4-fixup-use-of-mmio-ops.patch remove-unused-tty_struct-variable.patch there-is-no-devfs-there-has-never-been-a-devfs-we-have.patch tty-locking-on-resize.patch ahci-ati-sb600-sata-support-for-various-modes.patch atiixp-ati-sb600-ide-support-for-various-modes.patch dquot-add-proper-locking-when-using-current-signal-tty.patch tty-trivial-kzalloc-opportunity.patch tty-lock-ticogwinsz.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 asus-mv-ide-device-ids.patch ide-support-for-via-8237a-southbridge.patch config_pm=n-slim-drivers-ide-pci-sc1200c.patch ide-check-that-generic_chipset-table-sizes-are-correct.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