From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751618AbdHaKXU (ORCPT ); Thu, 31 Aug 2017 06:23:20 -0400 Received: from mx2.suse.de ([195.135.220.15]:40383 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751205AbdHaKXT (ORCPT ); Thu, 31 Aug 2017 06:23:19 -0400 Date: Thu, 31 Aug 2017 12:23:14 +0200 Message-ID: From: Takashi Iwai To: "Alexandre Belloni" Cc: "Julia Lawall" , , , , , , , , , , , "Christophe JAILLET" Subject: Re: [alsa-devel] [PATCH] ALSA: ac97c: Fix an error handling path in 'atmel_ac97c_probe()' In-Reply-To: References: <20170831044042.23306-1-christophe.jaillet@wanadoo.fr> <20170831081021.g4luo557ggtnyfyg@piout.net> <20170831095615.lpon4a36vil6avma@piout.net> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/25.2 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 31 Aug 2017 12:13:00 +0200, Takashi Iwai wrote: > > On Thu, 31 Aug 2017 11:56:16 +0200, > Alexandre Belloni wrote: > > > > On 31/08/2017 at 10:23:19 +0200, Julia Lawall wrote: > > > > > > > > > On Thu, 31 Aug 2017, Alexandre Belloni wrote: > > > > > > > On 31/08/2017 at 06:40:42 +0200, Christophe JAILLET wrote: > > > > > If 'clk_prepare_enable()' fails, we must release some resources before > > > > > returning. Add a new label in the existing error handling path and 'goto' > > > > > there. > > > > > > > > > > Fixes: 260ea95cc027 ("ASoC: atmel: ac97c: Handle return value of clk_prepare_enable.") > > > > > Signed-off-by: Christophe JAILLET > > > > > > > > And here is the fallout of the stupid, brainless "fixing" of issues > > > > reported by static analysis tools. > > > > > > > > This clk_prepare_enable will never fail. If it was going to fail, the > > > > platform would never boot to a point were it is able to execute that > > > > code. It is really annoying to have so much churn for absolutely 0 > > > > benefit. > > > > > > Would it be more productive to put the code back like it was before, ie no > > > return value and no check, and add a comment to the definition of > > > clk_prepare_enable indicating that there are many case where the call > > > cannot fail? Grepping through the code suggests that it is about 50-50 on > > > checking the return value or not doing so, which might suggest that > > > checking the value is often not required. > > > > > > > I'd say that it is often useless to test the value. I don't have any > > problem with the test as it doesn't add much (at least it doesn't print > > an error message). So it may stays here. What I'm really unhappy about > > is people sending hundreds of similar, autogenerated patches to > > maintainers without actually putting any thought into them. That put all > > the burden on the maintainers to weed out the incorrect patches. > > I share your concerns, e.g. the burden of maintenance is a problem. > > But in this case, the original code looks really buggy. If the test > doesn't make sense, don't test it but give a proper comment from the > beginning. Instead, the current code does check the return value yet > with the incorrect error path. > > The proposed "fix" won't change any actual behavior in practice, which > is useless, yes. (And this is good -- at least it's safe to apply :) > OTOH, the semantics is a different question, and the patch corrects > it, which isn't so stupid, IMO. Ah, wait, now I see your point. It was introduced by the very recent patch through Mark's asoc tree (since it was wrongly labeled as "ASoC" while it isn't). That patch looks indeed fishy. The change in atmel_ac97c_resume() is also bad. So, I'd prefer reverting the wrong commit instead, and leave some comment about the uselessness of clk_prepare_enable() return value check. thanks, Takashi From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Date: Thu, 31 Aug 2017 10:23:14 +0000 Subject: Re: [alsa-devel] [PATCH] ALSA: ac97c: Fix an error handling path in 'atmel_ac97c_probe()' Message-Id: List-Id: References: <20170831044042.23306-1-christophe.jaillet@wanadoo.fr> <20170831081021.g4luo557ggtnyfyg@piout.net> <20170831095615.lpon4a36vil6avma@piout.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Alexandre Belloni Cc: Julia Lawall , alsa-devel@alsa-project.org, garsilva@embeddedor.com, arvind.yadav.cs@gmail.com, bhumirks@gmail.com, broonie@kernel.org, andriy.shevchenko@linux.intel.com, nicolas.ferre@microchip.com, perex@perex.cz, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, Christophe JAILLET On Thu, 31 Aug 2017 12:13:00 +0200, Takashi Iwai wrote: > > On Thu, 31 Aug 2017 11:56:16 +0200, > Alexandre Belloni wrote: > > > > On 31/08/2017 at 10:23:19 +0200, Julia Lawall wrote: > > > > > > > > > On Thu, 31 Aug 2017, Alexandre Belloni wrote: > > > > > > > On 31/08/2017 at 06:40:42 +0200, Christophe JAILLET wrote: > > > > > If 'clk_prepare_enable()' fails, we must release some resources before > > > > > returning. Add a new label in the existing error handling path and 'goto' > > > > > there. > > > > > > > > > > Fixes: 260ea95cc027 ("ASoC: atmel: ac97c: Handle return value of clk_prepare_enable.") > > > > > Signed-off-by: Christophe JAILLET > > > > > > > > And here is the fallout of the stupid, brainless "fixing" of issues > > > > reported by static analysis tools. > > > > > > > > This clk_prepare_enable will never fail. If it was going to fail, the > > > > platform would never boot to a point were it is able to execute that > > > > code. It is really annoying to have so much churn for absolutely 0 > > > > benefit. > > > > > > Would it be more productive to put the code back like it was before, ie no > > > return value and no check, and add a comment to the definition of > > > clk_prepare_enable indicating that there are many case where the call > > > cannot fail? Grepping through the code suggests that it is about 50-50 on > > > checking the return value or not doing so, which might suggest that > > > checking the value is often not required. > > > > > > > I'd say that it is often useless to test the value. I don't have any > > problem with the test as it doesn't add much (at least it doesn't print > > an error message). So it may stays here. What I'm really unhappy about > > is people sending hundreds of similar, autogenerated patches to > > maintainers without actually putting any thought into them. That put all > > the burden on the maintainers to weed out the incorrect patches. > > I share your concerns, e.g. the burden of maintenance is a problem. > > But in this case, the original code looks really buggy. If the test > doesn't make sense, don't test it but give a proper comment from the > beginning. Instead, the current code does check the return value yet > with the incorrect error path. > > The proposed "fix" won't change any actual behavior in practice, which > is useless, yes. (And this is good -- at least it's safe to apply :) > OTOH, the semantics is a different question, and the patch corrects > it, which isn't so stupid, IMO. Ah, wait, now I see your point. It was introduced by the very recent patch through Mark's asoc tree (since it was wrongly labeled as "ASoC" while it isn't). That patch looks indeed fishy. The change in atmel_ac97c_resume() is also bad. So, I'd prefer reverting the wrong commit instead, and leave some comment about the uselessness of clk_prepare_enable() return value check. thanks, Takashi From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [alsa-devel] [PATCH] ALSA: ac97c: Fix an error handling path in 'atmel_ac97c_probe()' Date: Thu, 31 Aug 2017 12:23:14 +0200 Message-ID: References: <20170831044042.23306-1-christophe.jaillet@wanadoo.fr> <20170831081021.g4luo557ggtnyfyg@piout.net> <20170831095615.lpon4a36vil6avma@piout.net> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Alexandre Belloni Cc: Julia Lawall , alsa-devel@alsa-project.org, garsilva@embeddedor.com, arvind.yadav.cs@gmail.com, bhumirks@gmail.com, broonie@kernel.org, andriy.shevchenko@linux.intel.com, nicolas.ferre@microchip.com, perex@perex.cz, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, Christophe JAILLET List-Id: alsa-devel@alsa-project.org On Thu, 31 Aug 2017 12:13:00 +0200, Takashi Iwai wrote: > > On Thu, 31 Aug 2017 11:56:16 +0200, > Alexandre Belloni wrote: > > > > On 31/08/2017 at 10:23:19 +0200, Julia Lawall wrote: > > > > > > > > > On Thu, 31 Aug 2017, Alexandre Belloni wrote: > > > > > > > On 31/08/2017 at 06:40:42 +0200, Christophe JAILLET wrote: > > > > > If 'clk_prepare_enable()' fails, we must release some resources before > > > > > returning. Add a new label in the existing error handling path and 'goto' > > > > > there. > > > > > > > > > > Fixes: 260ea95cc027 ("ASoC: atmel: ac97c: Handle return value of clk_prepare_enable.") > > > > > Signed-off-by: Christophe JAILLET > > > > > > > > And here is the fallout of the stupid, brainless "fixing" of issues > > > > reported by static analysis tools. > > > > > > > > This clk_prepare_enable will never fail. If it was going to fail, the > > > > platform would never boot to a point were it is able to execute that > > > > code. It is really annoying to have so much churn for absolutely 0 > > > > benefit. > > > > > > Would it be more productive to put the code back like it was before, ie no > > > return value and no check, and add a comment to the definition of > > > clk_prepare_enable indicating that there are many case where the call > > > cannot fail? Grepping through the code suggests that it is about 50-50 on > > > checking the return value or not doing so, which might suggest that > > > checking the value is often not required. > > > > > > > I'd say that it is often useless to test the value. I don't have any > > problem with the test as it doesn't add much (at least it doesn't print > > an error message). So it may stays here. What I'm really unhappy about > > is people sending hundreds of similar, autogenerated patches to > > maintainers without actually putting any thought into them. That put all > > the burden on the maintainers to weed out the incorrect patches. > > I share your concerns, e.g. the burden of maintenance is a problem. > > But in this case, the original code looks really buggy. If the test > doesn't make sense, don't test it but give a proper comment from the > beginning. Instead, the current code does check the return value yet > with the incorrect error path. > > The proposed "fix" won't change any actual behavior in practice, which > is useless, yes. (And this is good -- at least it's safe to apply :) > OTOH, the semantics is a different question, and the patch corrects > it, which isn't so stupid, IMO. Ah, wait, now I see your point. It was introduced by the very recent patch through Mark's asoc tree (since it was wrongly labeled as "ASoC" while it isn't). That patch looks indeed fishy. The change in atmel_ac97c_resume() is also bad. So, I'd prefer reverting the wrong commit instead, and leave some comment about the uselessness of clk_prepare_enable() return value check. thanks, Takashi