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] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 7 Jan 2022 10:01:34 +1300
From:   Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@...il.com>
To:     Greg KH <gregkh@...uxfoundation.org>
Cc:     realwakka@...il.com, linux-staging@...ts.linux.dev,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: pi433: move get version func to where all other
 functions are

On Thu, Jan 06, 2022 at 03:04:09PM +0100, Greg KH wrote:
> > --- a/drivers/staging/pi433/pi433_if.c
> > +++ b/drivers/staging/pi433/pi433_if.c
> > @@ -1116,9 +1116,7 @@ static int pi433_probe(struct spi_device *spi)
> >  		spi->mode, spi->bits_per_word, spi->max_speed_hz);
> >  
> >  	/* Ping the chip by reading the version register */
> > -	retval = spi_w8r8(spi, 0x10);
> > -	if (retval < 0)
> > -		return retval;
> > +	retval = rf69_get_chip_version(spi);
> 
> This can not fail anymore, like it used to be able to.  So I think you
> just broke the functionality for why this call was being made in the
> first place (i.e. ping the chip to see if it was alive, and fail if it
> is not.)
>

I thought that this if statement was somewhat redudant because right
after obtaining the chip version, there is a switch statement that
checks if the value is what we expect or return an error otherwise.

Unfortunately, in the patch file generated the whole switch statement 
isn't visible so I admit that it looks funny at first. I will paste the
routine here:

/* Ping the chip by reading the version register */
retval = rf69_get_chip_version(spi);

switch (retval) {
case 0x24:
	dev_dbg(&spi->dev, "found pi433 (ver. 0x%x)", retval);
	break;
default:
	dev_dbg(&spi->dev, "unknown chip version: 0x%x", retval);
	return -ENODEV;
}

Let me know if you agree with the approach I've taken, otherwise I am
more than happy to add the original if statement if you think I'm
missing any edge case here.

Once again, thanks for taking the time to review my patch :)

thanks,

Paulo A.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ