summaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2017-11-10 18:54:11 +0100
committerHeiko Carstens <heiko.carstens@de.ibm.com>2017-11-10 18:54:11 +0100
commit22841cea1a10832d07f16720c718f6795f35fe2a (patch)
tree325560155dc62c45029bec11898a236150241794 /drivers/s390
parents390: simplify transactional execution elf hwcap handling (diff)
parents390: vfio-ccw: Do not attempt to free no-op, test and tic cda. (diff)
downloadlinux-22841cea1a10832d07f16720c718f6795f35fe2a.tar.xz
linux-22841cea1a10832d07f16720c718f6795f35fe2a.zip
Merge tag 'vfio-ccw-20171109' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into features
Pull vfio-ccw update from Cornelia Huck: "A vfio-ccw bugfix: avoid freeing that which should not be freed."
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/cio/vfio_ccw_cp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/s390/cio/vfio_ccw_cp.c b/drivers/s390/cio/vfio_ccw_cp.c
index d8f98ad9b029..7ebbd8b482f5 100644
--- a/drivers/s390/cio/vfio_ccw_cp.c
+++ b/drivers/s390/cio/vfio_ccw_cp.c
@@ -332,6 +332,8 @@ static void ccwchain_cda_free(struct ccwchain *chain, int idx)
{
struct ccw1 *ccw = chain->ch_ccw + idx;
+ if (ccw_is_test(ccw) || ccw_is_noop(ccw) || ccw_is_tic(ccw))
+ return;
if (!ccw->count)
return;