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: <20250412180046.62f9eab4@jic23-huawei>
Date: Sat, 12 Apr 2025 18:00:46 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Purva Yeshi <purvayeshi550@...il.com>
Cc: lars@...afoo.de, Michael.Hennerich@...log.com,
 linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] iio: adc: ad_sigma_delta: Fix use of uninitialized
 status_pos

On Thu, 10 Apr 2025 22:34:08 +0530
Purva Yeshi <purvayeshi550@...il.com> wrote:

> Fix Smatch-detected issue:
> drivers/iio/adc/ad_sigma_delta.c:604 ad_sd_trigger_handler() error:
> uninitialized symbol 'status_pos'.
> 
> The variable `status_pos` was only initialized in specific switch cases
> (1, 2, 3, 4), which could leave it uninitialized if `reg_size` had an
> unexpected value.
> 
> Fix by adding a default case to the switch block to catch unexpected
> values of `reg_size`. Use `dev_err_ratelimited()` for error logging and
> `goto irq_handled` instead of returning early.
> 
> Signed-off-by: Purva Yeshi <purvayeshi550@...il.com>
Seems like reasonable hardening of the code. 

Applied.

Thanks,

> ---
> V1 - https://lore.kernel.org/all/20250409200151.201327-1-purvayeshi550@gmail.com/
> V2 - Moved the reg_size validation inside the switch statement using a default case,
> replaced dev_err() with dev_err_ratelimited(), and replaced return IRQ_HANDLED
> with goto irq_handled;
> 
>  drivers/iio/adc/ad_sigma_delta.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
> index 6c37f8e21120..4c5f8d29a559 100644
> --- a/drivers/iio/adc/ad_sigma_delta.c
> +++ b/drivers/iio/adc/ad_sigma_delta.c
> @@ -587,6 +587,10 @@ static irqreturn_t ad_sd_trigger_handler(int irq, void *p)
>  		 * byte set to zero. */
>  		ad_sd_read_reg_raw(sigma_delta, data_reg, transfer_size, &data[1]);
>  		break;
> +
> +	default:
> +		dev_err_ratelimited(&indio_dev->dev, "Unsupported reg_size: %u\n", reg_size);
> +		goto irq_handled;
>  	}
>  
>  	/*


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ