mISDN: grabbing/dropping reference to THIS_MODULE in open/release is racy

... when you have no ->owner set.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-04-15 17:27:11 -04:00
parent ebb06be16b
commit 89b107adce

View File

@ -64,7 +64,6 @@ mISDN_open(struct inode *ino, struct file *filep)
dev->work = 0;
init_waitqueue_head(&dev->wait);
filep->private_data = dev;
__module_get(THIS_MODULE);
return nonseekable_open(ino, filep);
}
@ -94,7 +93,6 @@ mISDN_close(struct inode *ino, struct file *filep)
kfree(timer);
}
kfree(dev);
module_put(THIS_MODULE);
return 0;
}
@ -269,6 +267,7 @@ mISDN_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
}
static const struct file_operations mISDN_fops = {
.owner = THIS_MODULE,
.read = mISDN_read,
.poll = mISDN_poll,
.unlocked_ioctl = mISDN_ioctl,