linux/drivers/s390/char
Sebastian Ott 0149df238f s390/cio: fix driver callback initialization for ccw consoles
commit 2253e8d792 upstream.

ccw consoles are in use before they can be properly registered with
the driver core. For devices which are in use by a device driver we
rely on the ccw_device's pointer to the driver callbacks to be valid.
For ccw consoles this pointer is NULL until they are registered later
during boot and we dereferenced this pointer. This worked by
chance on 64 bit builds (cdev->drv was NULL but the optional callback
cdev->drv->path_event was also NULL by coincidence) and was unnoticed
until we received reports about boot failures on 31 bit systems.
Fix it by initializing the driver pointer for ccw consoles.

Reported-by: Mike Frysinger <vapier@gentoo.org>
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-06 07:59:24 -07:00
..
Kconfig tty: Added a CONFIG_TTY option to allow removal of TTY 2013-01-18 16:15:27 -08:00
Makefile s390/sclp: Determine HSA size dynamically for zfcpdump 2013-11-15 14:08:40 +01:00
con3215.c s390/cio: fix driver callback initialization for ccw consoles 2014-05-06 07:59:24 -07:00
con3270.c s390/cio: fix driver callback initialization for ccw consoles 2014-05-06 07:59:24 -07: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 Build fix for drivers/s390/char/defkeymap.c 2008-03-04 08:01:26 -08:00
defkeymap.map Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fs3270.c s390/3270: fix missing device_destroy() call 2013-11-15 14:08:37 +01: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
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/cio: fix driver callback initialization for ccw consoles 2014-05-06 07:59:24 -07:00
raw3270.h s390/cio: fix driver callback initialization for ccw consoles 2014-05-06 07:59:24 -07:00
sclp.c s390/time: correct use of store clock fast 2013-10-22 09:16:40 +02:00
sclp.h s390/sclp_early: Get rid of sclp_early_read_info_sccb_valid 2013-12-16 14:37:47 +01:00
sclp_async.c [S390] sclp_async: Use kstrtoul_from_user 2011-08-03 16:44:20 +02:00
sclp_cmd.c s390/hypfs: add interface for diagnose 0x304 2014-01-24 09:40:59 +01: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/sclp_early: Add function to detect sclp console capabilities 2013-12-16 14:37:49 +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: add parameter to specify number of buffer pages 2013-06-26 21:10:03 +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/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +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 [S390] vmur: Use wait queue instead of mutex to serialize open 2008-04-17 07:46:59 +02:00
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