SUNRPC/cache: add module_put() on error path in cache_open()
If kmalloc() fails in cache_open(), module cd->owner left locked. The patch adds module_put(cd->owner) on this path. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
ff7c4b3693
Коммит
a7823c797b
|
@ -986,8 +986,10 @@ static int cache_open(struct inode *inode, struct file *filp,
|
|||
nonseekable_open(inode, filp);
|
||||
if (filp->f_mode & FMODE_READ) {
|
||||
rp = kmalloc(sizeof(*rp), GFP_KERNEL);
|
||||
if (!rp)
|
||||
if (!rp) {
|
||||
module_put(cd->owner);
|
||||
return -ENOMEM;
|
||||
}
|
||||
rp->offset = 0;
|
||||
rp->q.reader = 1;
|
||||
atomic_inc(&cd->readers);
|
||||
|
|
Загрузка…
Ссылка в новой задаче