Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756104AbdDOS5u (ORCPT ); Sat, 15 Apr 2017 14:57:50 -0400 Received: from mail-dm3nam03on0041.outbound.protection.outlook.com ([104.47.41.41]:38016 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932073AbdDOS5U (ORCPT ); Sat, 15 Apr 2017 14:57:20 -0400 Authentication-Results: fb.com; dkim=none (message not signed) header.d=none;fb.com; dmarc=none action=none header.from=cnexlabs.com; From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: CC: , , Dan Carpenter , =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [GIT PULL 19/19] lightnvm: fix some error code in pblk-init.c Date: Sat, 15 Apr 2017 20:55:53 +0200 Message-ID: <20170415185553.16098-20-matias@cnexlabs.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170415185553.16098-1-matias@cnexlabs.com> References: <20170415185553.16098-1-matias@cnexlabs.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [193.106.164.211] X-ClientProxiedBy: AM5PR0701CA0069.eurprd07.prod.outlook.com (10.169.145.159) To CY4PR06MB2774.namprd06.prod.outlook.com (10.175.117.142) X-MS-Office365-Filtering-Correlation-Id: b19791f3-a025-47cc-194d-08d484312792 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:CY4PR06MB2774; X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;3:VEY971JgRfgrmWh2bH4+C+LGO8+G0eWMVqdxaZ3mr1dxkE31n2L3qMCIthkPh+iE0F8DoVhLstaBsKhuifGWZd0dCN3qBAxurPZz0pFqgtdruxURw7dhrCxnqvqT+pvOfG6T2I9Xnk60osHNenTlxO398XbyTKSXZq+srSdeQQtFwuL0pjXk/IPqvy2/GkAuYQhzTZJS+zyh5eVY+wCkxS9foNhXcPRRtTWJFo8ngE+UtDP1+NRfiNQmbiITXS9tDJsUAFawRyfWgEGeSGwFBtY+1b2YtcQIOwts3dkgy6syg85MMrr8sy6OjHvkaNZ0lEB7Op6TwCxgAGvUcPPLBA==;25:J417UsGik7dmKEqiifOWVfHYwLbrOOcDQ8iwWYrKbhTfLMgI/C7PN2NNIpa+wgWdHwAjGmL80+IyXISO7KP5Z2L0q7KLQ+PK4MMJil/DlQxMYcooi1Vpru1WHQdyw46/mmZkpYAKwoJY8olL4WPEVE2CETTCPR1W++zQe/uH0D3vkuiWRjJviIYpnN5zm2DijBqQ4WmT0/q7n2TLAqZ9H9LCc6nGzfjI60Mw+KgmtxFEcMyon/NAGy2TD1E0LVfZ8zofG5acpd9emybJ6yB3Bwx3O/L45f3EsWpEAy9Www6jB9QYcDxH95U2gCgBPzxgdPVFV16a6QwQMPCLxm4/csUuGYQ6du/BhG4Mm0Qv/urhakX2TSHayN2nzVGYBin+HcQU1FsOLoeR2JJX+f9wlcaU6W5gB1lDrBrygHoZF2Vjjg1JJyORBYRN9r6vM/YGjtYTIlOEGaFfkaIlLtx16Q== X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;31:DGG0DsvTWa/a1Yw2lnd5HQj7oHrBggNdi80bmbJpH3TkQ0eOTMbGU+X1H7BVhzW7cLg67+hrHoFzd/ek0nvsOGk/tNc5vyoNeqpMb6isS4T9PKQXBxr/LG9gO7OHeGYB2nr9l1xh4jekCTRxhfulTGRx2+0XAZz3DvvqAaiHM2tKR733ACG0R8ANhTSoJd1RVdiaQIQEwY2SaP78ZmWJbMoxcFxgJjt2qqx29x0P1y8=;20:qKaFyUoCalzdGVg/WzTok2wsV9njcEDWUTqf18qsQujeAtz33wDYkVVXRezfrhuuoVLx8/+UgOCoz47OnpN3KF3vgsDOmIw//1b+jx35MbOY5xHMyq6QP6f74GiLM/K38ZjazOZaP1FLGNCaCAas/5XM1Nuo5qoA+dc7L5UXDL4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(146099531331640); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123560025)(201703131423075)(201703061421075)(20161123555025)(6072148);SRVR:CY4PR06MB2774;BCL:0;PCL:0;RULEID:;SRVR:CY4PR06MB2774; X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;4:i2zzwAQTgngxe/GCSaxWwpSbIzhi0m8Nr4A+onYzJxO0pwY+lboRTqpLmgCsh0ZMmSIUgF0h1p6SBOe1Z9IFDWiRCv+MMPhGbvA94fZ0vPnK0pPhbRkr1T7LI9b4UoFKlre/on+LI/cIgAnDJhDpX6f1kht0WfY1vW0EL0uha84U55VpC2bWJLyEd6oaGYFREK1TYc2JPe8/YnFTkkuurTFJwCdk5gjmZpbkuZxaNXgWYfcOt6IBMqlcXVMfm7TSijl+0xFoF5Dv4uEvF3Jo0/OcaSTUGfqPAeRyPc0aFMe062oxVKJXXMrxViLaTxLyysFhUE1buk3Nrq9t7Dnp9t/6EAkSPuI2bhP/ti8i5IK0QrRg7KnU+s3/BQl2HfcnIu7POvIkrjG3ElCep29trH9p60UgUwVl6br4spwQIoHxRhCFlOs1quGAocuuEej2j3+cldAFjjzC01mAoTV7uWKmEvFvDqY2oQKG6dQbn0imYBptwmCWqNuPRI+T1hLrZTObroSPiwIzYAlvoiIobpjlEmNEbkSfQo/sXIS+f/nd1Z1ZF1dFhh2vKqbNYbgIW2JlxsT/vhRPacy4MI4kOacYQj3P467sDxdoDt1oCGBi4sPxlBRljUrF+SXwmiT7IvnqSWGWUxw6cMqbUrdRWXI8g0gV+ldNuTdElys3SMbMmrRJdKK/AUc4YPn1mMQA2iBL1P6n/FZ2qju/+SCzLrJGfvEUetatK70Jgpul1Wk= X-Forefront-PRVS: 02788FF38E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39400400002)(39450400003)(86362001)(305945005)(1076002)(6916009)(6666003)(25786009)(2950100002)(6486002)(2906002)(3846002)(6116002)(2870700001)(54906002)(189998001)(53936002)(53416004)(107886003)(110136004)(5660300001)(38730400002)(50986999)(76176999)(2351001)(4326008)(66066001)(5820100001)(23676002)(81166006)(47776003)(42186005)(36756003)(33646002)(50226002)(8676002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR06MB2774;H:skyninja.cnexlabs.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjA2TUIyNzc0OzIzOnQ5Q1MwU2ZUWVlCV25iUDlyYm10NjYyRFRW?= =?utf-8?B?Y2hFRFZhbnB6TXdRYUcraW1FaEZDSWV5ZVBJU201ZkVzaXpjZ2VWOGx0emxt?= =?utf-8?B?cnN2LzZqc2dCa0hENDUxM1plTG0vaUtzb1ZLUDcyMmxUVzdiU2p2Y2hpcUZE?= =?utf-8?B?eTdKTDNVNitZZFMxM1A5YTV5REZ5UDFNSXlZRnVFWG9WenB6ay9qSWIrTC9N?= =?utf-8?B?MzFFNDZlMjBiQlZ6RUNCQnRBR0xVSHF0aWhBajAxSUYvcjRqWWh1Y3I2cWJU?= =?utf-8?B?Vk02eFNjbEh2bzZyamhFeWtuMi9NWlpCOXI4QlVXcWpBNmVFWU40d0pJZElr?= =?utf-8?B?bFJYNWZ5YS9lUTJONlVhYitJSUtrSElVRXdKa3NEOTFoWElBUlQ3K2pzZjh5?= =?utf-8?B?em1IZUZYYlhCdkFUeFByL25OdGVyKzJLSFZQTnBWUUh0L0IxVkZQWjNhVVNh?= =?utf-8?B?QXdwNWNRN29mNG0xZ05oU3J4NjlNYlp5SENjM3NOTHFwWWJ2Szg1QVJqRHgx?= =?utf-8?B?VTdtOFluRytDaGZNdHVLYXNML0p0ZVN4WndjMkhPc3V4V2FoKzJQT3VZRnpP?= =?utf-8?B?eHRQN1pQSEdsdE5QYndXYjZVbUlnVGE0UndUa09PQUVIM1BEUGJPRnRCa1dV?= =?utf-8?B?RHJoUlVsb3pkK291SzZsTVJ0QUI2VGVmM3JwMHlZRlVNUmN4UFZmd3g1THZ2?= =?utf-8?B?TTFiNXNiaENtL0xEZTBNUzNXM2Z4ZjREbXQ1Y0lyQVRCMGFxOVlOeWQ4ZGlP?= =?utf-8?B?eEo2Si9VL2NvbkZ2NWdDU2FsQ0daQ2g1SEJCOVVsOXBFR0EvalJhNmx5bTZN?= =?utf-8?B?UnROSjdoaHRMNE1Hc3BkS1pwZXJCYTdySGVZOFhhekgvemZ4YVpOM2didFNU?= =?utf-8?B?WGVVb0JyZWFwR3lRcitLQXpEN0Y1SmNPRUJ0dlJueXk0QzU2SitPTCtYVzBt?= =?utf-8?B?Z2ZzMHFSWm9TekRobkF0M1hKMkV0b2UyeXlKWWR5dkd1ZXRwdms4dW9EdFdX?= =?utf-8?B?ZlRZd3NmdDNSanM3bzdWNG9ScmNkL3pJYW9nWXFQS3puNllaUGpoU01sd3gy?= =?utf-8?B?b2t4VGUvY3haWTgybVlhQWRYRjJTL2JlV3RDeEw4b3NiZUQxZndjY3cwSUph?= =?utf-8?B?cTF2blZBK2QvcWk0WnVHZ3AxOUIvcS92TEZteVNIZXNrS0ZOd0FyU0VBN01w?= =?utf-8?B?SHdET0xoeVVUNnF3V3UydWFZSHBnSFJLLytHLzA4ekp6R0xQeGh4aEFjSEhq?= =?utf-8?B?NHNKTW9MMWROdHBORVBZS2NUOWJXMW1VR1RvSG5OSXBkWVZuTUtSUllrQVN5?= =?utf-8?Q?YED21eHp4EyZLNg/tQwe9NSfY7le65OQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;6:caI7WT0ddYAErE9hmmpJQDPxmQdvIt+pSqSodH2J9v7PS9hstplQxZM4Yt0kz6nGsk4ZxHR30fOorGpUPMCR1edeakkReDoak5j9huRPVHnoLefavIoulE4tm77Iuxua3TEpoHbRPDJ821pLbJxSu/zgYjRBtqfkF+z0k4p4EpIzJw9WpHTeJg9UbRnw2JKawczcIf7IvqtZWSljHMrgUTN2ujs8Oe4TzjLagD4Z1YmAMZ7WhhfA5rMw3bhL85Cr+fAeaaevOmpGHaPCalPrhfDbuCmiWJwDNLRCC7J+EFW7+XBOHKuNM97vhZciVKgS7u0aKvbr5mCRVIM7tCmITqrGL8zfWA6V2XumOhtut7Rzx5qEhEXsNBlq8s89jLbHaZcvWH9Pxq2lkJLyC9ntDjydq9PT2cCl6N6TdPaDJcPKBbNNslhLO367cKEkSZTHwrW2/HcExbtKwUqL0RsblA==;5:RElXAqIA5vzj9R7f87ncPsyWmvFT99VqmZAzkOwhJdoI2UziWL7eWQuGbp7WcgsHGwt1DbfNVJx6OjqvCYH99pjswomse6g4gezHqYefniBYwlkrT+nQANrz5mHEyt0h+EQ3fUEA2jH0myE5bZNRAA==;24:PvB/rSFbC2MdJnSzrZpdJ7IFfiX4pDmDv5dCSuLN+dNucQLgP6Xdl7ViRYGVG397CcWzL/YtDIGbxpFhlsAW4YJm1JnMb0UWUlro8J/g97g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;7:WFrqY/IlLq0orwfUZjaf6Jr8hcP5iIEjK12QKFwP6NAHmBccCbyBV2JwDb7zk/sXO2UaLFNp3diYpQuxr1kbmJzXKkaW7fD18TPTmRJiyUBQEsvEfQNtnKMgvl0pTH/NTRaX+BfHbUzw+N6+0f8jBnDUckhrHWhTsghUyOja5rB4FU6/gvKV9L3LkmVLSkugHleFR50C00y2kTD4diMV4q2VE0A1V8bcoNZ2U0+PgBBvNkNmKJWmbznKC4M9UpaYAj+X34aoVlwhcHD30cVET9+v8O3Vge5z5egJ73rBEM+05gFHiWehcXdVUWtvBirS4XsYpvDPjCufQ9dWpH/VRg== X-OriginatorOrg: cnexlabs.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2017 18:56:40.7964 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR06MB2774 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2511 Lines: 80 From: Dan Carpenter There were a bunch of places in pblk_lines_init() where we didn't set an error code. And in pblk_writer_init() we accidentally return 1 instead of a correct error code, which would result in a Oops later. Fixes: 11a5d6fdf919 ("lightnvm: physical block device (pblk) target") Signed-off-by: Dan Carpenter Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index 94653b1..3996e4b 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -543,7 +543,7 @@ static int pblk_lines_init(struct pblk *pblk) long nr_bad_blks, nr_meta_blks, nr_free_blks; int bb_distance; int i; - int ret = 0; + int ret; lm->sec_per_line = geo->sec_per_blk * geo->nr_luns; lm->blk_per_line = geo->nr_luns; @@ -638,12 +638,16 @@ static int pblk_lines_init(struct pblk *pblk) } l_mg->bb_template = kzalloc(lm->sec_bitmap_len, GFP_KERNEL); - if (!l_mg->bb_template) + if (!l_mg->bb_template) { + ret = -ENOMEM; goto fail_free_meta; + } l_mg->bb_aux = kzalloc(lm->sec_bitmap_len, GFP_KERNEL); - if (!l_mg->bb_aux) + if (!l_mg->bb_aux) { + ret = -ENOMEM; goto fail_free_bb_template; + } bb_distance = (geo->nr_luns) * geo->sec_per_pl; for (i = 0; i < lm->sec_per_line; i += bb_distance) @@ -667,8 +671,10 @@ static int pblk_lines_init(struct pblk *pblk) pblk->lines = kcalloc(l_mg->nr_lines, sizeof(struct pblk_line), GFP_KERNEL); - if (!pblk->lines) + if (!pblk->lines) { + ret = -ENOMEM; goto fail_free_bb_aux; + } nr_free_blks = 0; for (i = 0; i < l_mg->nr_lines; i++) { @@ -682,8 +688,10 @@ static int pblk_lines_init(struct pblk *pblk) spin_lock_init(&line->lock); nr_bad_blks = pblk_bb_line(pblk, line); - if (nr_bad_blks < 0 || nr_bad_blks > lm->blk_per_line) + if (nr_bad_blks < 0 || nr_bad_blks > lm->blk_per_line) { + ret = -EINVAL; goto fail_free_lines; + } line->blk_in_line = lm->blk_per_line - nr_bad_blks; if (line->blk_in_line < lm->min_blk_line) { @@ -733,7 +741,7 @@ static int pblk_writer_init(struct pblk *pblk) pblk->writer_ts = kthread_create(pblk_write_ts, pblk, "pblk-writer-t"); if (IS_ERR(pblk->writer_ts)) { pr_err("pblk: could not allocate writer kthread\n"); - return 1; + return PTR_ERR(pblk->writer_ts); } return 0; -- 2.9.3