linux/drivers
Paul Fulghum 38ad2ed08d tty: restore locked ioctl file op
Restore tty locked ioctl handler which was replaced with
an unlocked ioctl handler in hung_up_tty_fops by the patch:

commit e10cc1df1d
Author: Paul Fulghum <paulkf@microgate.com>
Date:   Thu May 10 22:22:50 2007 -0700

    tty: add compat_ioctl

This was reported in:
[Bug 8473] New: Oops: 0010 [1] SMP

The bug is caused by switching to hung_up_tty_fops in do_tty_hangup.  An
ioctl call can be waiting on BLK after testing for existence of the locked
ioctl handler in the normal tty fops, but before calling the locked ioctl
handler.  If a hangup occurs at that point, the locked ioctl fop is NULL
and an oops occurs.

(akpm: we can remove my debugging code from do_ioctl() now, but it'll be OK to
do that for 2.6.23)

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-16 13:16:15 -07:00
..
acorn
acpi Pull osi-now into release branch 2007-06-02 01:02:09 -04:00
amba
ata libata: limit post SRST nsect/lbal wait to ~100ms 2007-06-11 00:52:53 -04:00
atm [ATM]: Fix warning. 2007-06-03 18:08:44 -07:00
auxdisplay cfag12864bfb: Use sys_ instead of cfb_ framebuffer accessors 2007-06-01 08:18:28 -07:00
base firmware: remove orphaned Email 2007-06-08 12:41:08 -07:00
block loop: preallocate eight loop devices 2007-06-08 17:23:32 -07:00
bluetooth [Bluetooth] Always send HCI_Reset for Broadcom devices 2007-05-24 14:26:15 +02:00
cdrom potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
char tty: restore locked ioctl file op 2007-06-16 13:16:15 -07:00
clocksource
connector
cpufreq Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crypto [CRYPTO] geode: Fix in-place operations and set key 2007-05-24 21:23:24 +10:00
dio
dma [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
edac [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
eisa virtual_eisa_root_init() should be __init 2007-05-08 11:15:02 -07:00
fc4
firewire firewire: Change struct fw_cdev_iso_packet to not use bitfields. 2007-05-31 21:40:15 +02:00
firmware
hid USB HID: hiddev - fix race between hiddev_send_event() and hiddev_release() 2007-05-10 08:45:56 +02:00
hwmon hwmon/applesmc: Handle name file creation error and deletion 2007-05-27 22:17:43 +02:00
i2c [ARM] 4403/1: Make the PXA-I2C driver work with lockdep validator 2007-05-26 10:09:39 +01:00
ide Resume from RAM on HPC nx6325 broken 2007-06-16 02:24:43 +02:00
ieee1394 ieee1394: sbp2: offer SAM-conforming target port ID in sysfs 2007-05-31 21:40:13 +02:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2007-06-11 15:46:08 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-06-13 14:09:39 -07:00
isdn isdn/diva: fix section mismatch 2007-06-08 17:23:33 -07:00
kvm KVM: Prevent guest fpu state from leaking into the host 2007-06-15 12:30:59 +03:00
leds [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
macintosh [POWERPC] Don't allow PMAC_APM_EMU for 64-bit 2007-06-02 21:01:56 +10:00
mca mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
md md: fix bug with linear hot-add and elsewhere 2007-05-23 20:14:14 -07:00
media V4L/DVB (5751): Ivtv: fix ia64 printk format warnings. 2007-06-08 08:54:41 -03:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-05-29 13:39:52 -07:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-06-04 13:27:33 -07:00
misc Pull now into release branch 2007-06-02 00:48:48 -04:00
mmc mmc: get back read-only switch function 2007-06-13 19:11:20 +02:00
mtd Merge git://git.infradead.org/mtd-2.6 2007-06-04 17:54:09 -07:00
net Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 2007-06-15 16:16:31 -07:00
nubus
oprofile Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
parisc [PARISC] fix section mismatch in superio serial drivers 2007-05-27 15:01:19 -04:00
parport [PARISC] fix section mismatch in parport_gsc 2007-05-27 12:13:53 -04:00
pci msi: mask the msix vector before we unmap it 2007-06-01 08:18:27 -07:00
pcmcia at91: fix enable/disable_irq_wake symmetry in pcmcia driver 2007-05-31 07:58:13 -07:00
pnp [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
ps3 Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
rapidio
rtc RTC: use fallback IRQ if PNP tables don't provide one 2007-06-01 08:18:29 -07:00
s390 [S390] cio: deregister ccw device when pgid disband failed 2007-05-31 17:38:14 +02:00
sbus [SPARC]: Missing #include <linux/mm.h> in drivers/sbus/char/flash.c 2007-05-31 01:52:53 -07:00
scsi ide-scsi: fix OOPS in idescsi_expiry() 2007-06-16 02:24:44 +02:00
serial Blackfin serial driver: decouple PARODD and CMSPAR checking from PARENB 2007-06-11 16:16:45 +08:00
sh
sn
spi Blackfin SPI driver: fix bug SPI DMA incomplete transmission 2007-06-11 17:34:17 +08:00
tc potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
telephony [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
usb OHCI: Fix machine check in ohci_hub_status_data 2007-06-08 16:24:31 -07:00
video Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6 2007-06-14 18:36:21 -07:00
w1 [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
zorro
Kconfig
Makefile Merge branch 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2007-05-10 13:30:08 -07:00