Re: [PATCH for 5.10.y] spi: Switch to signed types for *_native_cs SPI controller fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 06, 2021 at 03:08:42PM +0900, Nobuhiro Iwamatsu wrote:
> From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> 
> commit 35f3f8504c3b60a1ae5576e178b27fc0ddd6157d upstream.
> 
> While fixing undefined behaviour the commit f60d7270c8a3 ("spi: Avoid
> undefined behaviour when counting unused native CSs") missed the case
> when all CSs are GPIOs and thus unused_native_cs will be evaluated to
> -1 in unsigned representation. This will falsely trigger a condition
> in the spi_get_gpio_descs().
> 
> Switch to signed types for *_native_cs SPI controller fields to fix above.
> 
> Fixes: f60d7270c8a3 ("spi: Avoid undefined behaviour when counting unused native CSs")
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Link: https://lore.kernel.org/r/20210510131242.49455-1-andriy.shevchenko@xxxxxxxxxxxxxxx
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@xxxxxxxxxxxxx>
> ---
>  include/linux/spi/spi.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
> index 2d906b9c149929..e1d88630ff2439 100644
> --- a/include/linux/spi/spi.h
> +++ b/include/linux/spi/spi.h
> @@ -646,8 +646,8 @@ struct spi_controller {
>  	int			*cs_gpios;
>  	struct gpio_desc	**cs_gpiods;
>  	bool			use_gpio_descriptors;
> -	u8			unused_native_cs;
> -	u8			max_native_cs;
> +	s8			unused_native_cs;
> +	s8			max_native_cs;
>  
>  	/* statistics */
>  	struct spi_statistics	statistics;
> -- 
> 2.33.0
> 
> 

Now queued up, thanks.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux