linux/drivers/char
Amit Shah d7a62cd033 virtio: console: Don't access vqs if device was unplugged
If a virtio-console device gets unplugged while a port is open, a
subsequent close() call on the port accesses vqs to free up buffers.
This can lead to a crash.

The buffers are already freed up as a result of the call to
unplug_ports() from virtcons_remove().  The fix is to simply not access
vq information if port->portdev is NULL.

Reported-by: juzhang <juzhang@redhat.com>
CC: stable@kernel.org
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-06 10:44:13 -08:00
..
agp Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel into drm-fixes 2011-02-24 12:19:43 +10:00
hw_random Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2011-01-13 10:25:58 -08:00
ip2 ip2: fix compiler warning on ip2main_pci_tbl 2010-12-10 15:20:15 -08:00
ipmi char/ipmi: fix OOPS caused by pnp_unregister_driver on unregistered driver 2011-02-10 18:00:21 -08:00
mwave drivers/char/mwave/Makefile: clean up 2010-10-27 18:03:15 -07:00
pcmcia cm4000_cs: Fix undefined ops warning 2011-02-19 12:22:36 +01:00
rio drivers/char/rio/Makefile: replace the use of <module>-objs with <module>-y 2010-10-27 18:03:15 -07:00
tpm Revert "TPM: Long default timeout fix" 2011-03-01 13:23:27 -08:00
xilinx_hwicap Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
amiserial.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
apm-emulation.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
applicom.c drivers/char/applicom.c: fix information leak to userland 2010-10-27 18:03:14 -07:00
applicom.h
bfin_jtag_comm.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
bfin-otp.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
briq_panel.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
bsr.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
cd1865.h
cyclades.c tty: icount changeover for other main devices 2010-10-22 10:20:05 -07:00
digi1.h
digiFep1.h
digiPCI.h
ds1302.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
ds1620.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
dsp56k.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
dtlk.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
efirtc.c efirtc: explicitly set llseek to no_llseek 2009-12-16 07:19:59 -08:00
epca.c epca: Kill the big kernel lock 2010-08-10 13:47:40 -07:00
epca.h
epcaconfig.h
generic_nvram.c drivers: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:04 +02:00
generic_serial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
genrtc.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
hangcheck-timer.c Input: sysrq - drop tty argument form handle_sysrq() 2010-08-21 00:34:45 -07:00
hpet.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
i8k.c Fix gcc 4.5.1 miscompiling drivers/char/i8k.c (again) 2010-11-15 13:27:06 -08:00
isicom.c isicom: kill off the BKL 2010-08-10 13:47:40 -07:00
istallion.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
Kconfig Merge branch 'akpm' 2011-01-20 17:02:14 -08:00
lp.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
Makefile virtio: console: Move file back to drivers/char/ 2011-02-03 14:43:12 -08:00
mbcs.c drivers: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:04 +02:00
mbcs.h
mem.c vfs: introduce FMODE_UNSIGNED_OFFSET for allowing negative f_pos 2010-10-25 21:18:21 -04:00
misc.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
mmtimer.c SGI Altix IA64 mmtimer: eliminate long interval timer holdoffs 2010-10-27 18:03:14 -07:00
moxa.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
moxa.h
mspec.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
mxser.c drivers/char/mxser.c: fix compilation warning in mxser.c 2010-10-27 18:03:15 -07:00
mxser.h
nozomi.c nozomi: Fix warning from the previous TIOCGCOUNT changes 2010-11-09 14:49:38 -08:00
nsc_gpio.c
nvram.c drivers: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:04 +02:00
nwbutton.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
nwbutton.h
nwflash.c drivers: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:04 +02:00
pc8736x_gpio.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
ppdev.c drivers/char/ppdev.c: fix information leak to userland 2010-10-27 18:03:14 -07:00
ps3flash.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
ramoops.c ramoops: fix types, remove typecasts 2011-01-13 08:03:23 -08:00
random.c random: Use this_cpu_inc_return 2010-12-17 15:18:05 +01:00
raw.c block: make blkdev_get/put() handle exclusive access 2010-11-13 11:55:17 +01:00
riscom8_reg.h
riscom8.c riscom8: kill use of lock_kernel 2010-08-10 13:47:40 -07:00
riscom8.h
rocket_int.h
rocket.c rocket: fix compiler warning on rocket_pci_ids 2010-12-10 15:20:14 -08:00
rocket.h
rtc.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
scc.h
scx200_gpio.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
ser_a2232.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
snsc_event.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
snsc.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
snsc.h headers: kobject.h redux 2011-01-10 08:51:44 -08:00
sonypi.c sonypi: don't use flush_scheduled_work() 2010-12-24 15:59:07 +01:00
specialix_io8.h
specialix.c Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-01-07 14:39:20 -08:00
stallion.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sx.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sx.h
sxboards.h
sxwindow.h
synclink_gt.c drivers/char/synclink_gt.c: add extended sync feature 2010-10-27 18:03:14 -07:00
synclink.c tty: icount changeover for other main devices 2010-10-22 10:20:05 -07:00
synclinkmp.c tty: icount changeover for other main devices 2010-10-22 10:20:05 -07:00
tb0219.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
tlclk.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
toshiba.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
ttyprintk.c add ttyprintk driver 2010-10-22 10:20:02 -07:00
uv_mmtimer.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
viotape.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
virtio_console.c virtio: console: Don't access vqs if device was unplugged 2011-03-06 10:44:13 -08:00
vme_scc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00