Loading drivers/uio/uio.c +12 −5 Original line number Diff line number Diff line Loading @@ -297,12 +297,17 @@ static int uio_open(struct inode *inode, struct file *filep) struct uio_listener *listener; int ret = 0; lock_kernel(); idev = idr_find(&uio_idr, iminor(inode)); if (!idev) return -ENODEV; if (!idev) { ret = -ENODEV; goto out; } if (!try_module_get(idev->owner)) return -ENODEV; if (!try_module_get(idev->owner)) { ret = -ENODEV; goto out; } listener = kmalloc(sizeof(*listener), GFP_KERNEL); if (!listener) { Loading @@ -319,7 +324,7 @@ static int uio_open(struct inode *inode, struct file *filep) if (ret) goto err_infoopen; } unlock_kernel(); return 0; err_infoopen: Loading @@ -329,6 +334,8 @@ static int uio_open(struct inode *inode, struct file *filep) module_put(idev->owner); out: unlock_kernel(); return ret; } Loading Loading
drivers/uio/uio.c +12 −5 Original line number Diff line number Diff line Loading @@ -297,12 +297,17 @@ static int uio_open(struct inode *inode, struct file *filep) struct uio_listener *listener; int ret = 0; lock_kernel(); idev = idr_find(&uio_idr, iminor(inode)); if (!idev) return -ENODEV; if (!idev) { ret = -ENODEV; goto out; } if (!try_module_get(idev->owner)) return -ENODEV; if (!try_module_get(idev->owner)) { ret = -ENODEV; goto out; } listener = kmalloc(sizeof(*listener), GFP_KERNEL); if (!listener) { Loading @@ -319,7 +324,7 @@ static int uio_open(struct inode *inode, struct file *filep) if (ret) goto err_infoopen; } unlock_kernel(); return 0; err_infoopen: Loading @@ -329,6 +334,8 @@ static int uio_open(struct inode *inode, struct file *filep) module_put(idev->owner); out: unlock_kernel(); return ret; } Loading