From patchwork Mon Sep 27 21:59:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luis Chamberlain X-Patchwork-Id: 12520953 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7F8EC433F5 for ; Mon, 27 Sep 2021 22:00:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BBE0860EE9 for ; Mon, 27 Sep 2021 22:00:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237621AbhI0WCP (ORCPT ); Mon, 27 Sep 2021 18:02:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237399AbhI0WCJ (ORCPT ); Mon, 27 Sep 2021 18:02:09 -0400 Received: from bombadil.infradead.org (unknown [IPv6:2607:7c80:54:e::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27CE3C06176D; Mon, 27 Sep 2021 15:00:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description; bh=HTpU756JwpvmNMTCPyUXuh2Qpa/4bMT1Du7tontR+t4=; b=A0pK45hIyb0/WC2mLfXZDclFOY vYSeo3bNtuSAKN19j+1y8Ulrkkr+TO2dNjrkURnDjL67pI/zNww2Bmf4lzFBAUuyYZ8sBM+NyCznc 9GDxypVIZ5L238CKFUiALoNaF+7JJgnPZwFg5UxI/w2QPmbf7VjD97MiRcKUCUB+fv5oEQvQ9sGy6 2Y12bvtDiOjrx2978ZFfWi8Ti9Frz7LZ7QJcioy9y+12o7L5Xp6UXFEFoRvBpEf020rmUkGntrv2C j6eGSHwM1p0VL0g0NPHC3SZvRVYuTwIuz95vcQKJBih7o/zKFMngWLokRbcT4wUmQkfBYuFgEuqXF RwLNNeVA==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1mUyfM-004SUz-Tn; Mon, 27 Sep 2021 22:00:04 +0000 From: Luis Chamberlain To: axboe@kernel.dk, martin.petersen@oracle.com, jejb@linux.ibm.com, kbusch@kernel.org, sagi@grimberg.me, adrian.hunter@intel.com, beanhuo@micron.com, ulf.hansson@linaro.org, avri.altman@wdc.com, swboyd@chromium.org, agk@redhat.com, snitzer@redhat.com, josef@toxicpanda.com Cc: hch@infradead.org, hare@suse.de, bvanassche@acm.org, ming.lei@redhat.com, linux-scsi@vger.kernel.org, linux-nvme@lists.infradead.org, linux-mmc@vger.kernel.org, dm-devel@redhat.com, nbd@other.debian.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Luis Chamberlain , Christoph Hellwig , Song Liu Subject: [PATCH v4 3/6] md: add error handling support for add_disk() Date: Mon, 27 Sep 2021 14:59:55 -0700 Message-Id: <20210927215958.1062466-4-mcgrof@kernel.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210927215958.1062466-1-mcgrof@kernel.org> References: <20210927215958.1062466-1-mcgrof@kernel.org> MIME-Version: 1.0 Sender: Luis Chamberlain Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org We never checked for errors on add_disk() as this function returned void. Now that this is fixed, use the shiny new error handling. We just do the unwinding of what was not done before, and are sure to unlock prior to bailing. Reviewed-by: Christoph Hellwig Signed-off-by: Luis Chamberlain Signed-off-by: Song Liu --- drivers/md/md.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index 6c0c3d0d905a..6bd5ad3c30b4 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -5700,7 +5700,11 @@ static int md_alloc(dev_t dev, char *name) disk->flags |= GENHD_FL_EXT_DEVT; disk->events |= DISK_EVENT_MEDIA_CHANGE; mddev->gendisk = disk; - add_disk(disk); + error = add_disk(disk); + if (error) { + blk_cleanup_disk(disk); + goto abort; + } error = kobject_add(&mddev->kobj, &disk_to_dev(disk)->kobj, "%s", "md"); if (error) {