linux-stable/drivers/s390/cio
Jason J. Herne 408358b50d s390: vfio-ccw: Do not attempt to free no-op, test and tic cda.
Because we do not make use of the cda (channel data address) for test,
no-op ccws no address translation takes place. This means cda could
contain a guest address which we do not want to attempt to free. Let's
check the command type and skip cda free when it is not needed.

For a TIC ccw, ccw->cda points to either a ccw in an existing chain or
it points to a whole new allocated chain. In either case the data will
be freed when the owning chain is freed.

Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com>
Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
Message-Id: <1510068152-21988-1-git-send-email-jjherne@linux.vnet.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-11-08 14:39:53 +01:00
..
airq.c s390/cio: Introduce common I/O layer tracepoints 2015-12-18 14:59:36 +01:00
blacklist.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
blacklist.h
ccwgroup.c s390/ccwgroup: tie a ccwgroup driver to its ccw driver 2017-09-29 15:51:30 +02:00
ccwreq.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
chp.c s390/cio: add const to bin_attribute structures 2017-08-03 13:16:30 +02:00
chp.h s390/cio: clarify cssid usage 2017-01-16 07:27:52 +01:00
chsc.c s390/cio: use cssid for pgid generation 2017-01-16 07:27:52 +01:00
chsc.h s390/cio: use cssid for pgid generation 2017-01-16 07:27:52 +01:00
chsc_sch.c s390/debug: improve debug_event 2017-10-18 14:11:19 +02:00
chsc_sch.h
cio.c s390: cio: export more interfaces 2017-03-31 12:55:03 +02:00
cio.h s390: cio: introduce cio_cancel_halt_clear 2017-03-31 12:55:02 +02:00
cio_debug.h s390/debug: improve debug_event 2017-10-18 14:11:19 +02:00
cmf.c s390/cmf: use tod_to_ns() 2017-09-28 07:29:43 +02:00
crw.c s390/cio: Consolidate inline assemblies and related data definitions 2015-12-18 14:59:34 +01:00
css.c s390/cio: introduce io_subchannel_type 2017-06-12 16:26:01 +02:00
css.h s390/cio: remove unused struct member 2017-01-16 07:27:53 +01:00
device.c s390/cio: recover from bad paths 2017-09-19 08:36:19 +02:00
device.h s390/cio: recover from bad paths 2017-09-19 08:36:19 +02:00
device_fsm.c s390/cio: recover from bad paths 2017-09-19 08:36:19 +02:00
device_id.c
device_ops.c s390: cio: make it explicitly non-modular 2016-10-31 17:55:32 +01:00
device_pgid.c s390/cio: move ccw_device_stlck functions 2015-10-27 09:34:44 +01:00
device_status.c s390/cio: stop using subchannel_id from ccw_device_private 2016-08-08 15:41:32 +02:00
eadm_sch.c s390/debug: improve debug_event 2017-10-18 14:11:19 +02:00
eadm_sch.h s390/eadm_sch: improve quiesce handling 2013-10-24 17:16:58 +02:00
fcx.c
idset.c s390/cio: idset.c: remove some unused functions 2015-01-08 10:02:50 +01:00
idset.h s390: use canonical include guard style 2016-06-13 15:58:17 +02:00
io_sch.h s390/cio: recover from bad paths 2017-09-19 08:36:19 +02:00
ioasm.c s390/chsc: Add exception handler for CHSC instruction 2017-02-23 10:06:38 +01:00
ioasm.h s390/cio: Change I/O instructions from inline to normal functions 2015-12-18 14:59:37 +01:00
isc.c
itcw.c
Makefile vfio: ccw: introduce a finite state machine 2017-03-31 12:55:11 +02:00
orb.h
qdio.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
qdio_debug.c s390: Delete unnecessary checks before the function call "debug_unregister" 2015-11-27 09:24:16 +01:00
qdio_debug.h s390/debug: improve debug_event 2017-10-18 14:11:19 +02:00
qdio_main.c s390/qdio: improve some debug prints 2017-02-03 13:50:23 +01:00
qdio_setup.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
qdio_thinint.c s390/qdio: sanitize put_indicator 2017-11-03 08:00:33 +01:00
scm.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
trace.c s390/cio: Introduce common I/O layer tracepoints 2015-12-18 14:59:36 +01:00
trace.h s390/cio: Introduce common I/O layer tracepoints 2015-12-18 14:59:36 +01:00
vfio_ccw_cp.c s390: vfio-ccw: Do not attempt to free no-op, test and tic cda. 2017-11-08 14:39:53 +01:00
vfio_ccw_cp.h vfio: ccw: introduce channel program interfaces 2017-03-31 12:55:05 +02:00
vfio_ccw_drv.c s390/vfio_ccw: remove unused variable 2017-07-05 07:35:29 +02:00
vfio_ccw_fsm.c vfio: ccw: remove unnecessary NULL checks of a pointer 2017-04-12 12:33:36 +02:00
vfio_ccw_ops.c s390/vfio_ccw: make some symbols static 2017-05-22 15:37:11 +02:00
vfio_ccw_private.h vfio: ccw: introduce a finite state machine 2017-03-31 12:55:11 +02:00