diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2013-08-29 20:31:06 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-08-30 08:57:22 +0200 |
commit | eb072a7996467937a1582d0188ed082768902a5a (patch) | |
tree | 66115658aa7bc89efa9381c7123cd4fcfa17115e | |
parent | 57b5918c33a0797930c3791fb602a8a9d46ef80c (diff) | |
download | op-kernel-dev-eb072a7996467937a1582d0188ed082768902a5a.zip op-kernel-dev-eb072a7996467937a1582d0188ed082768902a5a.tar.gz |
s390/cio: fix unlocked access of global bitmap
Access to the slow_subchannel_set has to be secured via the
slow_subchannel_lock.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | drivers/s390/cio/css.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 4eb2a54..8c2cb87 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -546,7 +546,9 @@ static int slow_eval_unknown_fn(struct subchannel_id schid, void *data) case -ENOMEM: case -EIO: /* These should abort looping */ + spin_lock_irq(&slow_subchannel_lock); idset_sch_del_subseq(slow_subchannel_set, schid); + spin_unlock_irq(&slow_subchannel_lock); break; default: rc = 0; |