X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=block%2Fblk-cgroup.c;h=8c4e81ac5e75432c1e29917dd6bf0305505ad7a6;hb=f399038b276db24cccb6f97654214ba81c2d09a5;hp=1ff8e97f853ad719ee13994f0d5fc3fafb76a775;hpb=6b278a8e82ff8b751d63b186477b642f27e922db;p=firefly-linux-kernel-4.4.55.git diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index 1ff8e97f853a..8c4e81ac5e75 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -720,8 +720,12 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, return -EINVAL; disk = get_gendisk(MKDEV(major, minor), &part); - if (!disk || part) + if (!disk) return -EINVAL; + if (part) { + put_disk(disk); + return -EINVAL; + } rcu_read_lock(); spin_lock_irq(disk->queue->queue_lock);