lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200224073110.GA58786@lenoch>
Date:   Mon, 24 Feb 2020 08:31:10 +0100
From:   Ladislav Michl <ladis@...ux-mips.org>
To:     Chanwoo Choi <cw00.choi@...sung.com>
Cc:     "H. Nikolaus Schaller" <hns@...delico.com>,
        MyungJoo Ham <myungjoo.ham@...sung.com>,
        linux-kernel@...r.kernel.org, letux-kernel@...nphoenux.org,
        kernel@...a-handheld.com, linux-omap@...r.kernel.org
Subject: Re: [PATCH v3] extcon: palmas: hide error messages if gpio returns
 -EPROBE_DEFER

On Mon, Feb 24, 2020 at 11:12:08AM +0900, Chanwoo Choi wrote:
> On 2/21/20 4:47 PM, Ladislav Michl wrote:
> > On Tue, Feb 18, 2020 at 08:09:16PM +0900, Chanwoo Choi wrote:
> >> On 2/18/20 7:48 PM, Ladislav Michl wrote:
> >>> On Tue, Feb 18, 2020 at 07:35:47PM +0900, Chanwoo Choi wrote:
> >>>> On 2/18/20 7:21 PM, Ladislav Michl wrote:
> >>>>> On Tue, Feb 18, 2020 at 12:28:25PM +0900, Chanwoo Choi wrote:
> >>>>>> On 2/17/20 10:38 PM, H. Nikolaus Schaller wrote:
> >>>>>>> If the gpios are probed after this driver (e.g. if they
> >>>>>>> come from an i2c expander) there is no need to print an
> >>>>>>> error message.
> >>>>>>>
> >>>>>>> Signed-off-by: H. Nikolaus Schaller <hns@...delico.com>
> >>>>>>> ---
> >>>>>>>  drivers/extcon/extcon-palmas.c | 8 ++++++--
> >>>>>>>  1 file changed, 6 insertions(+), 2 deletions(-)
> >>>>>>>
> >>>>>>> diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
> >>>>>>> index edc5016f46f1..cea58d0cb457 100644
> >>>>>>> --- a/drivers/extcon/extcon-palmas.c
> >>>>>>> +++ b/drivers/extcon/extcon-palmas.c
> >>>>>>> @@ -205,14 +205,18 @@ static int palmas_usb_probe(struct platform_device *pdev)
> >>>>>>>  
> >>>>>>>  	palmas_usb->id_gpiod = devm_gpiod_get_optional(&pdev->dev, "id",
> >>>>>>>  							GPIOD_IN);
> >>>>>>> -	if (IS_ERR(palmas_usb->id_gpiod)) {
> >>>>>>> +	if (PTR_ERR(palmas_usb->id_gpiod) == -EPROBE_DEFER) {
> >>>>>>> +		return -EPROBE_DEFER;
> >>>
> >>> Here we returned...
> >>
> >> hmm. you better to suggest the result of cocci script
> >> to understand why it is matter.
> > 
> > You can browse similar fixes online :)
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=grep&q=else+after+return
> > 
> 
> As you commented, please share the result
> of cocci or checkpatch warning. It is simple to finish
> this discussion. 

What is happening here? Do we really need tools to see the obvious?
See for example commit 09971adc33b ("staging: iio: addac: Remove unnecessary
else after return"). Running script mentioned in above commit with
"[PATCH v3] extcon: palmas: hide error messages if gpio returns"
applied gives:
~/src/linux$ spatch -sp_file s.cocci -in_place drivers/extcon/extcon-palmas.c
init_defs_builtins: /usr/lib/coccinelle/standard.h
HANDLING: drivers/extcon/extcon-palmas.c
diff = 
--- drivers/extcon/extcon-palmas.c
+++ /tmp/cocci-output-67907-55371b-extcon-palmas.c
@@ -207,7 +207,7 @@ static int palmas_usb_probe(struct platf
 							GPIOD_IN);
 	if (PTR_ERR(palmas_usb->id_gpiod) == -EPROBE_DEFER) {
 		return -EPROBE_DEFER;
-	} else if (IS_ERR(palmas_usb->id_gpiod)) {
+	} if (IS_ERR(palmas_usb->id_gpiod)) {
 		dev_err(&pdev->dev, "failed to get id gpio\n");
 		return PTR_ERR(palmas_usb->id_gpiod);
 	}
@@ -216,7 +216,7 @@ static int palmas_usb_probe(struct platf
 							GPIOD_IN);
 	if (PTR_ERR(palmas_usb->vbus_gpiod) == -EPROBE_DEFER) {
 		return -EPROBE_DEFER;
-	} else if (IS_ERR(palmas_usb->vbus_gpiod)) {
+	} if (IS_ERR(palmas_usb->vbus_gpiod)) {
 		dev_err(&pdev->dev, "failed to get vbus gpio\n");
 		return PTR_ERR(palmas_usb->vbus_gpiod);
 	}

That's why I wrote previously: "Then it is matter of time it triggers
someones cocci script pointing to else after return."
Linux git history proves there are people running such a scripts
and results of such a scripts gets applied.

I do not care too much, you are the one adding more work for
yourself ;-)

	ladis

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ