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]
Message-ID: <56912EB1.7040107@kernel.org>
Date:	Sat, 9 Jan 2016 16:00:49 +0000
From:	Jonathan Cameron <jic23@...nel.org>
To:	tim.gardner@...onical.com, linux-iio@...r.kernel.org,
	linux-kernel@...r.kernel.org
Cc:	Hartmut Knaack <knaack.h@....de>,
	Lars-Peter Clausen <lars@...afoo.de>,
	Peter Meerwald <pmeerw@...erw.net>,
	Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
Subject: Re: [PATCH v4.4-rc8] iio: magnetometer: ak8975: Silence 'may be used
 uninitialized' warning

On 09/01/16 00:17, tim.gardner@...onical.com wrote:
> From: Tim Gardner <tim.gardner@...onical.com>
> 
> drivers/iio/magnetometer/ak8975.c: In function 'ak8975_probe':
> drivers/iio/magnetometer/ak8975.c:788:14: warning: 'chipset' may be used uninitialized in this function [-Wmaybe-uninitialized]
>   data->def = &ak_def_array[chipset];
> 
> gcc version 5.3.1 20151219 (Ubuntu 5.3.1-4ubuntu1)
> 
> Cc: Jonathan Cameron <jic23@...nel.org>
> Cc: Hartmut Knaack <knaack.h@....de>
> Cc: Lars-Peter Clausen <lars@...afoo.de>
> Cc: Peter Meerwald <pmeerw@...erw.net>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
> Signed-off-by: Tim Gardner <tim.gardner@...onical.com>
Doesn't look to be an actual bug as we either end up with chipset being filled
based on the traditional match table in which case it'll be assigned
or based on the acpi match, which should succeed seeing as we've already
had to have matched one or the other for the probe to match in the first place.

So probably worth the change to make it easier to tell that it should be fine
and suppress the warning.  However, whilst we are here, I note that
*match_acpi_table has a path which returns NULL as the name and doesn't assign
the chipset.  We should be therefore checking if (!name) return -ENOSYS;
Though maybe another error code would be more appropriate.

Not sure that error path can actually happen either, but if we are going to
bother having the error path out of match_acpi_table then we ought to actually
handle it!

Don't suppose you'd mind fixing that one as well whilst here?

Jonathan 
> ---
> 
> This seems like a legitimate warning, though gcc should have complained
> about an earlier use of chipset on line 782.
> 
>  drivers/iio/magnetometer/ak8975.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index b13936d..80ec0ce 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -732,7 +732,7 @@ static int ak8975_probe(struct i2c_client *client,
>  	int eoc_gpio;
>  	int err;
>  	const char *name = NULL;
> -	enum asahi_compass_chipset chipset;
> +	enum asahi_compass_chipset chipset = AK_MAX_TYPE;
>  
>  	/* Grab and set up the supplied GPIO. */
>  	if (client->dev.platform_data)
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ