From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757768AbcGZULR (ORCPT ); Tue, 26 Jul 2016 16:11:17 -0400 Received: from mout.web.de ([217.72.192.78]:59526 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757327AbcGZULO (ORCPT ); Tue, 26 Jul 2016 16:11:14 -0400 Subject: Re: staging: lustre: Optimize error handling in class_register_type() To: Oleg Drokin References: <566ABCD9.1060404@users.sourceforge.net> <566D7733.1030102@users.sourceforge.net> <56784D83.7080108@users.sourceforge.net> <56784F0C.6040007@users.sourceforge.net> <20151221234857.GA27079@kroah.com> <59d94e70-7476-728e-5f63-013557ec2db9@users.sourceforge.net> <3F437188-382B-46C8-9C30-7DBAB17F62E3@intel.com> Cc: devel@driverdev.osuosl.org, lustre-devel@lists.lustre.org, Andreas Dilger , Greg Kroah-Hartman , LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Bhumika Goyal From: SF Markus Elfring Message-ID: <9f6275cc-6e7a-e26a-9aa0-3fec17648132@users.sourceforge.net> Date: Tue, 26 Jul 2016 22:11:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: <3F437188-382B-46C8-9C30-7DBAB17F62E3@intel.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:Lta55gkjG2CqoWMdiD/2RIks3ctPvdD8YehDyW9j6CiphMwA3fA kS/2hJsBD+/ZHb4WOykq4CZs9FPR35xacCXxKK3cm357DUW/20y0N/RNUm6bcPnGCFH2C59 bRTF70MwTVnz17SfP4lVg/tXunj9ofvG/XcXy/INhEdEMu//KBiwEQHNlkGurflsdqi5Kk7 J/LWbJIjgqyRUOfXvJ3rA== X-UI-Out-Filterresults: notjunk:1;V01:K0:U0t1v+FsutM=:7OcloDFkhH/MNwHrQVFOkr oiOTfRsukDzBtSjgSje84qkQLozbLPIOeucedP/6fc/Bxxytc+gBf/AEWAPtHfr82g5/2oOmQ gjNYBDmkYso/ylHCBfHAl7FZZop57f0NAx6rfOznlTOfXgIElhgmnTbjkv10L6N+TR8JFhWZ2 e82QFJzo0MnNNgI30G6/4EzxK59b0Gom3F9T79NuqYrT/Tqexej0EhnSVZLFcc5ldJkQDX2rQ VQs4tUkhV2EvuqgPbAUawxx+QONWScHacshOQleTpKiGDixFHbH0oJWll03gvOS0QB0wL+FBI 5XYpI74yxWk5FtCUS+4kbobrg5XyNJpk4TMtIO1dQ1nkKdDWIk9MHTUeuaLj7OdcVnd3lgus9 MZ/mLTHnPMhAAp6mBvtzKuZaoJHOgBG2Aosl4BUVdzD7mpuxeAFDc8fzbY3Nt7WEtO5yhXI4Z OGgwvotgY3g6rHoJ7MBEEgLg74whkq3YuOB8AHmlaLzB8NyxOobrp+fdvZqx2dSehn3TAhuya wbxkjkHt2gypGE0wqZvCR/lyDdoiH6X0YpPCMoIUtmz9qu/aUqGfIRbFeu1X1T2Fc1VqJuZHt jG6wwr5Hl80I8Z2ayQNvXF8wrUj49Nj42I5II/LUEJq0Pvn12MO7/T5HMne5CX7DDW1niIIqX IPrf2tv7iJJA2gw7t/qeBcK3+MWs6x0dD60CiH2L0LboQNPLaUptAuGNzqtl9FD4vNmVZqTqS NbcFG5VRZpkKdeuBkr6k5fFLCXH2YjFwNL7cN77RGQyex75maWAafjB8g/7zaIXO8xYQkdufo kgncUGR Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > NAK. > when you do this, the next statement below breaks: I wonder about this conclusion. >> type = kzalloc(sizeof(*type), GFP_NOFS); >> if (!type) >> - return rc; >> + return -ENOMEM; >> >> type->typ_dt_ops = kzalloc(sizeof(*type->typ_dt_ops), GFP_NOFS); >> if (!type->typ_dt_ops) { > … > goto failed; > > failed: > … > return rc; > > So we are now returning an unitialized rc, did you get a gcc warning about it when compiling? I do not get such an impression if my corresponding update suggestion "[PATCH 04/12] staging: lustre: Split a condition check in class_register_type()" will be considered for this use case once more. https://lkml.org/lkml/2016/7/26/462 https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1197227.html Regards, Markus