]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/block_dev.c
[PATCH] fix bdev leak in block_dev.c do_open()
[mirror_ubuntu-artful-kernel.git] / fs / block_dev.c
index dcf37cada3697d898c2d0c70c875450826845440..e664b0b7048916954a82293e7fc7f4d231ae8514 100644 (file)
@@ -941,8 +941,10 @@ static int do_open(struct block_device *bdev, struct file *file, int for_part)
         * hooks: /n/, see "layering violations".
         */
        ret = devcgroup_inode_permission(bdev->bd_inode, perm);
-       if (ret != 0)
+       if (ret != 0) {
+               bdput(bdev);
                return ret;
+       }
 
        ret = -ENXIO;
        file->f_mapping = bdev->bd_inode->i_mapping;