From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1033342AbbKFMbd (ORCPT ); Fri, 6 Nov 2015 07:31:33 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:59517 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033211AbbKFMba (ORCPT ); Fri, 6 Nov 2015 07:31:30 -0500 X-AuditID: cbfee68f-f796f6d0000014a4-c2-563c9da06fdf 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 4/8] block/loop.c: handle add_disk() & blk_register_region() return value Date: Fri, 06 Nov 2015 17:52:11 +0530 Message-id: <1446812535-10567-4-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: H4sIAAAAAAAAAzWSWUxTURRFua+3r48GzLOAXmrkA8FEE1Dmaxj0R3ONPxoNGodgxRdAoJCW QYPGRgqIzCAGoQYQRESZSgmDxECpRUQmCQgRVAiRIQoBgsgg2FL9OdknZ+29fw7DEy1BMRMi jeJkUkmYPS2Er6zd45yKnvj4Hy7ot8Sdk69orKo2jJdjGTSe0R7Aql4lxLO63xRueZpN4Uep HwHuXhuEWJn/FGJ94wSFB5pVNNZtZQCcVNgMcNnyvAA3j68I8GLtFVyjzBfg9JV2AZ6KT4B4 ItMQMlP3g8Jrz98C3FF5Hvf+6eDjh+ljAGvKx/nH9pB8RRpNChT9kGhejFCkKX9MQEpaZigy 0B1N1BXJNBkdaqHJu7x1SNLi52gy/2aQJumaCkCqNYOQ1HXFkabFOj5ZUtud3nlR6HOdCwuJ 4WSH/K4Kg+e/PYaRsxY3J4enKQXQCh8Acwax7iipv4E26V2o70u1QQsZEVsO0IflPvAf6i0o BKbDM4Da9bXQtNyjUJW+GBopmnVBNQU6gfFgza7zUF5RxvbCY5UA5XZVUUbKir2Ekkd+8o0a so7oqyZ7223JHkdKxSdo6rNDnfocA8Mw5uwJNN6+bRWxd9FGZuN2JmK3GLSw2v8vh0W/crTQ yCN2L1K38kwxtqitfBhmAqsiYFYBbLjIwEj5tSCZm7NcEi6PlgY5B0aEq4HhF7o2v2c0grFW by1gGWBvYTlc6u0v4kti5LfCtcDD0JDFE9sERhjeRxoV4OLm6Yo93D3cXL2OeNrvtiwWr54V sUGSKC6U4yI5WYAsOoyTawHFmIsVYN/cqXMJDps+7Yl9PcKObjOvG+K288kXYnNjbWNDsxph jK/6ka4hV3U7Ka+2NFN/xs8517fy4GRKmMO8V+jCDlLlViZpklSGFG7Vz6jvHK1fPkk72a2o 4hIv36/c3F+TlDW08X5IJk8xe+3ePKVzmO6Zc5R+jm/oKGMiSlLzXEbtoTxY4nKQJ5NL/gIE OuVFBgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrAKsWRmVeSWpSXmKPExsVy+t9jAd0Fc23CDL4+Y7Y4+WQNm8Wc9UBi 9d1+NouXhzQt5pxvYbF4deQHk8WeRZOYLKb1XGK0OPvrKotFy6xFLBbHdjxisri8aw6bxZH/ /YwW7fN3MVos+/qe3WLXw+/sFp82xlpsaJnFbtH3/TC7xfPmVhaLRxOAhrzc/IbJ4tfyo4wW x9eGW5z/e5zVYkrfXUaLLSsesjpIe8xq6GXzmN1wkcVjy8qbTB47Z91l91i85yWTx+WzpR6b VnWyedy5tofN48SM3ywevc3v2Dze77vK5tG3ZRWjx/otV1k8Np+u9tj5aTOrx+dNcgGCUQ2M NhmpiSmpRQqpecn5KZl56bZK3sHxzvGmZgaGuoaWFuZKCnmJuam2Si4+AbpumTnA0FFSKEvM KQUKBSQWFyvp22GaEBripmsB0xih6xsSBNdjZIAGEtYwZrx/MJOl4BVPxZMbL5gaGA9xdTFy ckgImEicnz2fEcIWk7hwbz1bFyMXh5DAUkaJw8c2skA4TUwS644tZAGpYhMwlNgw+wg7SEJE 4DezxIwF/WAOs0ALo8TU0+uYQKqEBaIlOm++ZQWxWQRUJe5vmQTWzSvgKtHScJ0FYp+cxMlj k4FqODg4BdwkHh4GaxUSqJf4M2EH+wRG3gWMDKsYJVILkguKk9JzjfJSy/WKE3OLS/PS9ZLz czcxglPPM+kdjId3uR9iFOBgVOLhNVhuHSbEmlhWXJl7iFGCg1lJhFeO2SZMiDclsbIqtSg/ vqg0J7X4EKMp0F0TmaVEk/OBaTGvJN7Q2MTc1NjU0sTCxMxSSZxX39MoTEggPbEkNTs1tSC1 CKaPiYNTqoHxAJP6o2/ZUif9Mg5ccIrgKHV30vVgO1fuGHDxdPus1Efquw32pLObq98Quegt 8qLt0K3knxLl+/SWhVhs3ZF/XfjSnC1OP2+d1z/5+n7YtuPz5slfMvS37n8wh+FsZPbDmicT ljXdnS+/qks9acHKotdazcrxfSen7HH3PH98olO01tU//1LTlFiKMxINtZiLihMBOajrAlMD 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/loop.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 423f4ca..22e6fd0 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1794,10 +1794,14 @@ static int loop_add(struct loop_device **l, int i) disk->private_data = lo; disk->queue = lo->lo_queue; sprintf(disk->disk_name, "loop%d", i); - add_disk(disk); + err = add_disk(disk); + if (err) + goto out_free_disk; *l = lo; return lo->lo_number; +out_free_disk: + put_disk(disk); out_free_queue: blk_cleanup_queue(lo->lo_queue); out_cleanup_tags: @@ -1998,8 +2002,10 @@ static int __init loop_init(void) goto misc_out; } - blk_register_region(MKDEV(LOOP_MAJOR, 0), range, + err = blk_register_region(MKDEV(LOOP_MAJOR, 0), range, THIS_MODULE, loop_probe, NULL, NULL); + if (err) + goto out_blkdev; /* pre-create number of devices given by config or max_loop */ mutex_lock(&loop_index_mutex); @@ -2010,6 +2016,8 @@ static int __init loop_init(void) printk(KERN_INFO "loop: module loaded\n"); return 0; +out_blkdev: + unregister_blkdev(LOOP_MAJOR, "loop"); misc_out: misc_deregister(&loop_misc); return err; -- 1.9.1