From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] block: NULL dereference on error path in __blkdev_get() Date: Sun, 13 Mar 2011 23:59:37 +0300 Message-ID: <20110313205937.GI2008@bicker> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, kernel-janitors@vger.kernel.org To: Alexander Viro , tj@kernel.org Return-path: Received: from mail-fx0-f46.google.com ([209.85.161.46]:40348 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755434Ab1CMU7x (ORCPT ); Sun, 13 Mar 2011 16:59:53 -0400 Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: "disk" is always NULL when we goto out. There was a check for this before, but it was removed in 69e02c59a7d9 "block: Don't check events while open is in progress". Signed-off-by: Dan Carpenter diff --git a/fs/block_dev.c b/fs/block_dev.c index fbe05cb..7d02afb 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -1181,9 +1181,9 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) out_unlock_bdev: mutex_unlock(&bdev->bd_mutex); disk_unblock_events(disk); - out: module_put(disk->fops->owner); put_disk(disk); + out: bdput(bdev); return ret;