X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=block%2Fblk-cgroup.c;h=d6283b3f5db50674d18ae485970f1e24ed44569d;hb=5e86dfe39f54ab13fd8079ac3d6cb100318909a3;hp=9da02c021ebe2ed296cbdf8560d5bbf2ecd1c48f;hpb=cd369c2239dd08c273c0fafbbea44e3e0c509ebd;p=linux-2.6-block.git diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index 9da02c021ebe..d6283b3f5db5 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -718,8 +718,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);