* [PATCH for 5.10.y] spi: Switch to signed types for *_native_cs SPI controller fields
@ 2021-09-06 6:08 Nobuhiro Iwamatsu
2021-09-06 8:47 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Nobuhiro Iwamatsu @ 2021-09-06 6:08 UTC (permalink / raw)
To: stable; +Cc: gregkh, sashal, Andy Shevchenko, Mark Brown, Nobuhiro Iwamatsu
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
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@linux.intel.com>
Link: https://lore.kernel.org/r/20210510131242.49455-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH for 5.10.y] spi: Switch to signed types for *_native_cs SPI controller fields
2021-09-06 6:08 [PATCH for 5.10.y] spi: Switch to signed types for *_native_cs SPI controller fields Nobuhiro Iwamatsu
@ 2021-09-06 8:47 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2021-09-06 8:47 UTC (permalink / raw)
To: Nobuhiro Iwamatsu; +Cc: stable, sashal, Andy Shevchenko, Mark Brown
On Mon, Sep 06, 2021 at 03:08:42PM +0900, Nobuhiro Iwamatsu wrote:
> From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>
> 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@linux.intel.com>
> Link: https://lore.kernel.org/r/20210510131242.49455-1-andriy.shevchenko@linux.intel.com
> Signed-off-by: Mark Brown <broonie@kernel.org>
> Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
> ---
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-09-06 8:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-06 6:08 [PATCH for 5.10.y] spi: Switch to signed types for *_native_cs SPI controller fields Nobuhiro Iwamatsu
2021-09-06 8:47 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox