David Vrabel
77bb3dfdc0
xen/events: don't bind non-percpu VIRQs with percpu chip
...
A non-percpu VIRQ (e.g., VIRQ_CONSOLE) may be freed on a different
VCPU than it is bound to. This can result in a race between
handle_percpu_irq() and removing the action in __free_irq() because
handle_percpu_irq() does not take desc->lock. The interrupt handler
sees a NULL action and oopses.
Only use the percpu chip/handler for per-CPU VIRQs (like VIRQ_TIMER).
# cat /proc/interrupts | grep virq
40: 87246 0 xen-percpu-virq timer0
44: 0 0 xen-percpu-virq debug0
47: 0 20995 xen-percpu-virq timer1
51: 0 0 xen-percpu-virq debug1
69: 0 0 xen-dyn-virq xen-pcpu
74: 0 0 xen-dyn-virq mce
75: 29 0 xen-dyn-virq hvc_console
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: <stable@vger.kernel.org>
2015-05-19 19:55:36 +01:00
..
hvc
xen/events: don't bind non-percpu VIRQs with percpu chip
2015-05-19 19:55:36 +01:00
ipwireless
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-04-14 09:50:27 -07:00
serial
Devicetree updates for 4.1:
2015-04-24 08:46:18 -07:00
vt
tty: Use static attribute groups for sysfs entries
2015-03-26 16:10:10 +01:00
amiserial.c
TTY: fix misspelling of current function in string
2015-01-09 14:38:15 -08:00
bfin_jtag_comm.c
TTY: bfin_jtag_comm: remove incorrect wait_until_sent operation
2015-03-07 03:44:14 +01:00
cyclades.c
ehv_bytechan.c
tty: remove unused variable sprop
2015-02-03 15:52:13 -08:00
goldfish.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-04-14 09:50:27 -07:00
isicom.c
tty/isicom: fix big-endian compile warning
2015-02-02 10:11:25 -08:00
Kconfig
ttyFDC: Implement KGDB IO operations.
2015-03-31 12:04:13 +02:00
Makefile
TTY: Add MIPS EJTAG Fast Debug Channel TTY driver
2015-03-31 12:04:12 +02:00
metag_da.c
mips_ejtag_fdc.c
ttyFDC: Implement KGDB IO operations.
2015-03-31 12:04:13 +02:00
moxa.c
moxa.h
mxser.c
mxser.h
n_gsm.c
n_gsm: Drop unneeded cast on netdev_priv
2015-04-10 14:43:48 +02:00
n_hdlc.c
n_r3964.c
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c
n_tty: Fix signal handling flushes
2015-02-02 10:11:27 -08:00
nozomi.c
pty.c
n_tty: Fix signal handling flushes
2015-02-02 10:11:27 -08:00
rocket.c
TTY: fix misspelling of current function in string
2015-01-09 14:38:15 -08:00
rocket.h
rocket_int.h
synclink.c
synclink_gt.c
synclinkmp.c
sysrq.c
workqueue: dump workqueues on sysrq-t
2015-03-09 09:22:28 -04:00
tty_audit.c
tty_buffer.c
pty: Fix buffer flush deadlock
2015-02-02 10:11:27 -08:00
tty_io.c
tty: clean up the tty time logic a bit
2015-03-26 23:10:27 +01:00
tty_ioctl.c
TTY: fix tty_wait_until_sent maximum timeout
2015-03-07 03:44:15 +01:00
tty_ldisc.c
tty_ldsem.c
tty_mutex.c
tty: Make lock subclasses available for other tty locks
2015-02-02 10:11:27 -08:00
tty_port.c
tty: Deletion of unnecessary checks before two function calls
2014-11-26 19:35:49 -08:00