s390/crypt: fix missing unlock in ctr_paes_crypt on error path
The ctr mode of protected key aes uses the ctrblk page if the ctrblk_lock could be acquired. If the protected key has to be reestablished and this operation fails the unlock for the ctrblk_lock is missing. Add it. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
2d6be4abf5
commit
e7c95effcd
@ -474,8 +474,11 @@ static int ctr_paes_crypt(struct blkcipher_desc *desc, unsigned long modifier,
|
|||||||
ret = blkcipher_walk_done(desc, walk, nbytes - n);
|
ret = blkcipher_walk_done(desc, walk, nbytes - n);
|
||||||
}
|
}
|
||||||
if (k < n) {
|
if (k < n) {
|
||||||
if (__ctr_paes_set_key(ctx) != 0)
|
if (__ctr_paes_set_key(ctx) != 0) {
|
||||||
|
if (locked)
|
||||||
|
spin_unlock(&ctrblk_lock);
|
||||||
return blkcipher_walk_done(desc, walk, -EIO);
|
return blkcipher_walk_done(desc, walk, -EIO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (locked)
|
if (locked)
|
||||||
|
Loading…
Reference in New Issue
Block a user