linux/drivers/s390/char
Peter Oberparleiter e106e4ea44 s390/sclp_vt220: Fix kernel panic due to early terminal input
A kernel panic might occur when there is terminal input available via
the SCLP VT220 interface at an early time during the boot process.

The processing of terminal input requires prior initialization which is
done via an early_initcall function (init_workqueues) while the SCLP
VT220 driver registers for terminal input during a console_initcall
function (sclp_vt220_con_init). When there is terminal input available
via the SCLP interface between console_initcall and early_initcall, a
null pointer dereference occurs (system_wq is null).

Fix this problem by moving the registration for terminal input to a
device_initcall function (sclp_vt220_tty_init).

Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-04-11 13:53:38 +02:00
..
con3215.c s390/cio: reorder initialization of ccw consoles 2014-02-21 08:50:12 +01:00
con3270.c s390/con3270: optionally disable auto update 2014-03-26 10:55:33 +01:00
ctrlchar.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
ctrlchar.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
defkeymap.c
defkeymap.map
fs3270.c s390/3270: fix missing device_destroy() call 2013-11-15 14:08:37 +01:00
Kconfig tty: Added a CONFIG_TTY option to allow removal of TTY 2013-01-18 16:15:27 -08:00
keyboard.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
keyboard.h TTY: switch tty_schedule_flip 2013-01-15 22:43:15 -08:00
Makefile s390/sclp: Determine HSA size dynamically for zfcpdump 2013-11-15 14:08:40 +01:00
monreader.c s390/monreader: Remove redundant NULL check before kfree 2013-04-17 14:07:25 +02:00
monwriter.c s390/monwriter: fix smatch warning for strcpy() 2013-10-24 17:17:08 +02:00
raw3270.c s390/3270: fix crash with multiple reset device requests 2014-04-01 09:23:36 +02:00
raw3270.h s390/con3270: optionally disable auto update 2014-03-26 10:55:33 +01:00
sclp.c s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
sclp.h s390/sclp: add timeout for queued requests 2014-04-01 13:25:26 +02:00
sclp_async.c [S390] sclp_async: Use kstrtoul_from_user 2011-08-03 16:44:20 +02:00
sclp_cmd.c s390/sclp: add timeout for queued requests 2014-04-01 13:25:26 +02:00
sclp_con.c s390/sclp: add parameter to specify number of buffer pages 2013-06-26 21:10:03 +02:00
sclp_config.c s390/sclp: reword cpu capability change message 2013-08-22 12:20:07 +02:00
sclp_cpi.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_cpi_sys.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_cpi_sys.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_ctl.c s390/sclp: remove duplicated include from sclp_ctl.c 2013-06-26 21:10:24 +02:00
sclp_early.c s390/smp: limit number of cpus in possible cpu mask 2014-03-17 15:53:06 +01:00
sclp_ocf.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_quiesce.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_rw.c s390/sclp: use -EOPNOTSUPP instead of -ENOSYS 2012-09-26 15:45:13 +02:00
sclp_rw.h [S390] sclp: fix compile error for !SCLP_CONSOLE 2009-07-07 16:37:50 +02:00
sclp_sdias.c s390/sclp: Move declarations for sclp_sdias into separate header file 2013-11-15 14:08:39 +01:00
sclp_sdias.h s390/sclp: Move declarations for sclp_sdias into separate header file 2013-11-15 14:08:39 +01:00
sclp_tty.c TTY: add tty_port_tty_wakeup helper 2013-03-18 16:19:45 -07:00
sclp_tty.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
sclp_vt220.c s390/sclp_vt220: Fix kernel panic due to early terminal input 2014-04-11 13:53:38 +02:00
tape.h s390/tape: remove even more tape block leftovers 2012-09-26 15:45:20 +02:00
tape_34xx.c s390/irq: remove split irq fields from /proc/stat 2013-01-08 10:57:07 +01:00
tape_3590.c s390/irq: remove split irq fields from /proc/stat 2013-01-08 10:57:07 +01:00
tape_3590.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_char.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
tape_class.c s390/drivers: Cocci spatch "ptr_ret.spatch" 2013-06-26 21:10:22 +02:00
tape_class.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_core.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_proc.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
tape_std.c s390/tape: Add missing destroy_timer_on_stack() 2014-04-01 09:23:37 +02:00
tape_std.h s390/tape: remove even more tape block leftovers 2012-09-26 15:45:20 +02:00
tty3270.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-01-20 09:23:31 -08:00
tty3270.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vmcp.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vmcp.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vmlogrdr.c s390/vmlogrdr: fix array access in vmlogrdr_open() 2013-10-15 13:47:59 +02:00
vmur.c s390/vmur: Link parent CCW device during UR device creation 2014-01-22 14:02:11 +01:00
vmur.h
vmwatchdog.c s390/vmwatchdog: do not use static data 2013-06-26 21:10:29 +02:00
zcore.c s390/sclp: Determine HSA size dynamically for zfcpdump 2013-11-15 14:08:40 +01:00