2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-20 03:04:01 +08:00
linux-next/drivers/s390/cio
Sebastian Ott a6ef15652d s390/cio: fix use after free in cmb processing
Devices with active channel measurement are included in a list. When a
device is removed without deactivating channel measurement first the
list_head is freed but still used. Fix this by making sure that
channel measurement is deactivated during device deregistration.

For devices that we deregister because they are no longer accessible
deactivating channel measurement will fail. In this case we can report
success because the FW will no longer access the measurement block.

In addition to these steps keep an extra device reference while
channel measurement is active.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-10-14 14:32:02 +02:00
..
airq.c s390/nohz: use a per-cpu flag for arch_needs_cpu 2014-10-09 09:14:02 +02:00
blacklist.c s390: remove use of seq_printf return value 2015-04-15 16:35:25 -07:00
blacklist.h
ccwgroup.c s390/ccwgroup: use ccwgroup_ungroup wrapper 2014-06-16 10:32:52 +02:00
ccwreq.c s390: cio driver &__get_cpu_var replacements 2014-08-26 13:45:52 -04:00
chp.c s390/cio: replace strnicmp with strncasecmp 2014-10-14 02:18:25 +02:00
chp.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
chsc_sch.c s390: cio driver &__get_cpu_var replacements 2014-08-26 13:45:52 -04:00
chsc_sch.h
chsc.c s390/cio: Implement proper Link Incident Record handling 2015-07-22 09:58:06 +02:00
chsc.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
cio_debug.h
cio.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
cio.h s390/lowcore: replace lowcore irb array with a per-cpu variable 2014-05-28 10:39:16 +02:00
cmf.c s390/cio: fix use after free in cmb processing 2015-10-14 14:32:02 +02:00
crw.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
css.c s390/css: Prevent unnecessary allocation in subchannel loop 2013-12-16 14:37:42 +01:00
css.h s390/cio: Delay scan for newly available I/O devices 2013-12-16 14:37:41 +01:00
device_fsm.c s390: cio driver &__get_cpu_var replacements 2014-08-26 13:45:52 -04:00
device_id.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device_ops.c s390/cio: Fix comma 2015-07-22 09:58:06 +02:00
device_pgid.c s390/cio: handle unknown pgroup state 2013-02-14 15:55:09 +01:00
device_status.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device.c s390/cio: fix use after free in cmb processing 2015-10-14 14:32:02 +02:00
device.h s390/cio: fix early init counter usage 2013-04-17 14:07:33 +02:00
eadm_sch.c s390: remove unneeded variables 2015-08-07 09:57:01 +02:00
eadm_sch.h s390/eadm_sch: improve quiesce handling 2013-10-24 17:16:58 +02:00
fcx.c [S390] drivers: Correct size given to memset 2009-12-18 17:43:32 +01:00
idset.c s390/cio: idset.c: remove some unused functions 2015-01-08 10:02:50 +01:00
idset.h s390/cio: idset.c: remove some unused functions 2015-01-08 10:02:50 +01:00
io_sch.h s390/cio: dont abort verification after missing irq 2013-02-14 15:55:07 +01:00
ioasm.h [S390] cio: move asms to generic header 2011-03-15 17:08:23 +01:00
isc.c
itcw.c [S390] cio: reduce memory consumption of itcw structures 2011-01-05 12:47:29 +01:00
Makefile s390/cio: add eadm subchannel driver 2012-09-26 15:45:00 +02:00
orb.h s390: add eadm related structures 2012-09-26 15:44:57 +02:00
qdio_debug.c qdio: Keep device-specific dbf entries 2014-06-16 10:31:58 +02:00
qdio_debug.h qdio: Keep device-specific dbf entries 2014-06-16 10:31:58 +02:00
qdio_main.c qdio: Keep device-specific dbf entries 2014-06-16 10:31:58 +02:00
qdio_setup.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
qdio_thinint.c s390/airq: simplify adapter interrupt code 2013-06-26 21:10:28 +02:00
qdio.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
scm.c s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00