From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1033285AbbKFMd5 (ORCPT ); Fri, 6 Nov 2015 07:33:57 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:55718 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752424AbbKFMdz (ORCPT ); Fri, 6 Nov 2015 07:33:55 -0500 X-AuditID: cbfee68e-f791c6d000001498-37-563c9e30a873 From: Vishnu Pratap Singh To: axboe@kernel.dk, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, jmoyer@redhat.com, minchan@kernel.org, ngupta@vflare.org, sergey.senozhatsky.work@gmail.com, davem@davemloft.net, neilb@suse.com, ulf.hansson@linaro.org, tiwai@suse.de, hare@suse.de, ming.lei@canonical.com, jarod@redhat.com, viro@zeniv.linux.org.uk, tj@kernel.org, adrian.hunter@intel.com, jonathanh@nvidia.com, grundler@chromium.org, linux-ide@vger.kernel.org, linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org Cc: cpgs@samsung.com, vishu13285@gmail.com, pintu.k@samsung.com, rohit.kr@samsung.com, Vishnu Pratap Singh Subject: [PATCH 5/8] zram: handle add_disk() & blk_register_region() return value Date: Fri, 06 Nov 2015 17:52:12 +0530 Message-id: <1446812535-10567-5-git-send-email-vishnu.ps@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1446812535-10567-1-git-send-email-vishnu.ps@samsung.com> References: <437969438-9181-1-git-send-email-vishnu.ps@samsung.com> <1446812535-10567-1-git-send-email-vishnu.ps@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrIIsWRmVeSWpSXmKPExsWyRsSkTtdwnk2YwaXPnBYnn6xhs5izHkis vtvPZvHykKbFnPMtLBavjvxgstizaBKTxbSeS4wWZ39dZbFombWIxeLYjkdMFpd3zWGzOPK/ n9Giff4uRotlX9+zW+x6+J3d4tPGWIsNLbPYLfq+H2a3eN7cymLxaALQkJeb3zBZ/Fp+lNHi +Npwi/N/j7NaTOm7y2ixZcVDVgdpj1kNvWwesxsusnhsWXmTyWPnrLvsHov3vGTyuHy21GPT qk42jzvX9rB5nJjxm8Wjt/kdm8f7fVfZPPq2rGL0WL/lKovH5tPVHjs/bWb1+LxJLkAwissm JTUnsyy1SN8ugSvj1+rKgnVCFX9f/mFvYJzC38XIySEhYCIx5/prNghbTOLCvfVANheHkMAK RonmryeAHA6wog+NjBDxpYwSW+Y8hHKamCQO9y5nAelmEzCU2DD7CDtIQkTgN7PEjAX9YA6z QAujxNTT65hAqoQFgiX6f7wE28cioCrx4Mo7VhCbV8BV4tfrK1B3yEmcPDaZFWQ1p4CbxMPD YK1CAvUSfybsAJspIfCfQ+LEvL0sEHMEJL5NPsQCcaqsxKYDzBBjJCUOrrjBMoFReAEjwypG 0dSC5ILipPQiI73ixNzi0rx0veT83E2MwJRw+t+zvh2MNw9YH2IU4GBU4uG9scQ6TIg1say4 MvcQoynQhonMUqLJ+cDEk1cSb2hsZmRhamJqbGRuaaYkzpsg9TNYSCA9sSQ1OzW1ILUovqg0 J7X4ECMTB6dUA6Ohv1rN85BDD/mm3HuYUfyM5eCyPzwv7pSuLV8nVzVzjd41xja1VU/vWCql 191dc/6Vv0nt663RbusrpnZYpn08eEhvZ9tD293pTLaS388ZqQpenyCkYLDo64kv/hfjZB1F PixTCdK49i1TZpek6lL2ZBtX74fZj1Xe+Ca7sjt4/Fvu8uhh1wslluKMREMt5qLiRAAmIxZZ BAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHKsWRmVeSWpSXmKPExsVy+t9jAV2DeTZhBh+WWFicfLKGzWLOeiCx +m4/m8XLQ5oWc863sFi8OvKDyWLPoklMFtN6LjFanP11lcWiZdYiFotjOx4xWVzeNYfN4sj/ fkaL9vm7GC2WfX3PbrHr4Xd2i08bYy02tMxit+j7fpjd4nlzK4vFowlAQ15ufsNk8Wv5UUaL 42vDLc7/Pc5qMaXvLqPFlhUPWR2kPWY19LJ5zG64yOKxZeVNJo+ds+6yeyze85LJ4/LZUo9N qzrZPO5c28PmcWLGbxaP3uZ3bB7v911l8+jbsorRY/2Wqywem09Xe+z8tJnV4/MmuQDBqAZG m4zUxJTUIoXUvOT8lMy8dFsl7+B453hTMwNDXUNLC3MlhbzE3FRbJRefAF23zBxg6CgplCXm lAKFAhKLi5X07TBNCA1x07WAaYzQ9Q0JgusxMkADCWsYM36trixYJ1Tx9+Uf9gbGKfxdjBwc EgImEh8aGbsYOYFMMYkL99azdTFycQgJLGWU2DLnISOE08Qkcbh3OQtIFZuAocSG2UfYQRIi Ar+ZJWYs6AdzmAVaGCWmnl7HBFIlLBAs0f/jJRuIzSKgKvHgyjtWEJtXwFXi1+srbBD75CRO HpvMCnIGp4CbxMPDYK1CAvUSfybsYJ/AyLuAkWEVo0RqQXJBcVJ6rmFearlecWJucWleul5y fu4mRnDaeSa1g/HgLvdDjAIcjEo8vAbLrcOEWBPLiitzDzFKcDArifDKMduECfGmJFZWpRbl xxeV5qQWH2I0BbprIrOUaHI+MCXmlcQbGpuYmxqbWppYmJhZKonz6nsahQkJpCeWpGanphak FsH0MXFwSjUwap8vPVH1UUtn/cNsqZaYwoYdf5n2n6/TOjLDyiX66Z+4iypLMg0qpA7rTLOb NkPjTvelGf4HJpywVr6k/lLbsTq0mzfU1sNmXzJDzkspm6P7fjA1ZO2unRfEUWpmvcv7xari Nw8fiHDr3VhuEmGl47Zy+pwL2yKlVy30TpM38bspcDSqz2qlEktxRqKhFnNRcSIAMv9IPVED AAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch handles blk_register_region() & add_disk() return value. Earlier these function doesn't handle error cases, now it is added, so the callers of this function should also handle it. Verfied on X86 based ubuntu machine. This patch depends on [PATCH 1/8] block/genhd.c: Add error handling Signed-off-by: Vishnu Pratap Singh --- drivers/block/z2ram.c | 12 ++++++++++-- drivers/block/zram/zram_drv.c | 9 ++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/block/z2ram.c b/drivers/block/z2ram.c index 968f9e5..85e841f 100644 --- a/drivers/block/z2ram.c +++ b/drivers/block/z2ram.c @@ -364,12 +364,20 @@ z2_init(void) sprintf(z2ram_gendisk->disk_name, "z2ram"); z2ram_gendisk->queue = z2_queue; - add_disk(z2ram_gendisk); - blk_register_region(MKDEV(Z2RAM_MAJOR, 0), Z2MINOR_COUNT, THIS_MODULE, + ret = add_disk(z2ram_gendisk); + if (ret) + goto out_add_disk; + + ret = blk_register_region(MKDEV(Z2RAM_MAJOR, 0), Z2MINOR_COUNT, THIS_MODULE, z2_find, NULL, NULL); + if (ret) + goto out_blk_reg; return 0; +out_blk_reg: + del_gendisk(z2ram_gendisk); +out_add_disk: out_queue: put_disk(z2ram_gendisk); out_disk: diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index 81a557c..f3d7a49 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -1261,14 +1261,16 @@ static int zram_add(void) zram->disk->queue->limits.discard_zeroes_data = 0; queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, zram->disk->queue); - add_disk(zram->disk); + ret = add_disk(zram->disk); + if (ret) + goto out_free_disk; ret = sysfs_create_group(&disk_to_dev(zram->disk)->kobj, &zram_disk_attr_group); if (ret < 0) { pr_err("Error creating sysfs group for device %d\n", device_id); - goto out_free_disk; + goto out_del_disk; } strlcpy(zram->compressor, default_compressor, sizeof(zram->compressor)); zram->meta = NULL; @@ -1277,8 +1279,9 @@ static int zram_add(void) pr_info("Added device: %s\n", zram->disk->disk_name); return device_id; -out_free_disk: +out_del_disk: del_gendisk(zram->disk); +out_free_disk: put_disk(zram->disk); out_free_queue: blk_cleanup_queue(queue); -- 1.9.1