lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 10 Oct 2019 15:13:33 +0200 From: Johan Hovold <johan@...nel.org> To: Rob Clark <robdclark@...il.com>, Sean Paul <sean@...rly.run>, Fabien Dessenne <fabien.dessenne@...com>, Mauro Carvalho Chehab <mchehab@...nel.org>, Harald Freudenberger <freude@...ux.ibm.com> Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>, Heiko Carstens <heiko.carstens@...ibm.com>, Vasily Gorbik <gor@...ux.ibm.com>, Christian Borntraeger <borntraeger@...ibm.com>, linux-arm-msm@...r.kernel.org, dri-devel@...ts.freedesktop.org, freedreno@...ts.freedesktop.org, linux-kernel@...r.kernel.org, linux-media@...r.kernel.org, linux-s390@...r.kernel.org, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Johan Hovold <johan@...nel.org>, stable <stable@...r.kernel.org>, Martin Schwidefsky <schwidefsky@...ibm.com> Subject: [PATCH 4/4] s390/zcrypt: fix memleak at release If a process is interrupted while accessing the crypto device and the global ap_perms_mutex is contented, release() could return early and fail to free related resources. Fixes: 00fab2350e6b ("s390/zcrypt: multiple zcrypt device nodes support") Cc: stable <stable@...r.kernel.org> # 4.19 Cc: Harald Freudenberger <freude@...ux.ibm.com> Cc: Martin Schwidefsky <schwidefsky@...ibm.com> Signed-off-by: Johan Hovold <johan@...nel.org> --- drivers/s390/crypto/zcrypt_api.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/s390/crypto/zcrypt_api.c b/drivers/s390/crypto/zcrypt_api.c index 45bdb47f84c1..9157e728a362 100644 --- a/drivers/s390/crypto/zcrypt_api.c +++ b/drivers/s390/crypto/zcrypt_api.c @@ -522,8 +522,7 @@ static int zcrypt_release(struct inode *inode, struct file *filp) if (filp->f_inode->i_cdev == &zcrypt_cdev) { struct zcdn_device *zcdndev; - if (mutex_lock_interruptible(&ap_perms_mutex)) - return -ERESTARTSYS; + mutex_lock(&ap_perms_mutex); zcdndev = find_zcdndev_by_devt(filp->f_inode->i_rdev); mutex_unlock(&ap_perms_mutex); if (zcdndev) { -- 2.23.0
Powered by blists - more mailing lists