linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] rtc: Move variable into switch case statement
@ 2021-12-09  4:39 Kees Cook
  2021-12-14  0:47 ` Gustavo A. R. Silva
  2022-01-05  0:05 ` Alexandre Belloni
  0 siblings, 2 replies; 3+ messages in thread
From: Kees Cook @ 2021-12-09  4:39 UTC (permalink / raw)
  To: Alessandro Zummo
  Cc: Kees Cook, Alexandre Belloni, linux-kernel, linux-rtc, linux-hardening

When building with automatic stack variable initialization, GCC 12
complains about variables defined outside of switch case statements.
Move the variable into the case that uses it, which silences the warning:

drivers/rtc/dev.c: In function 'rtc_dev_ioctl':
drivers/rtc/dev.c:394:30: warning: statement will never be executed [-Wswitch-unreachable]
  394 |                         long offset;
      |                              ^~~~~~

Fixes: 6a8af1b6568a ("rtc: add parameter ioctl")
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 drivers/rtc/dev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/rtc/dev.c b/drivers/rtc/dev.c
index e104972a28fd..69325aeede1a 100644
--- a/drivers/rtc/dev.c
+++ b/drivers/rtc/dev.c
@@ -391,14 +391,14 @@ static long rtc_dev_ioctl(struct file *file,
 		}
 
 		switch(param.param) {
-			long offset;
 		case RTC_PARAM_FEATURES:
 			if (param.index != 0)
 				err = -EINVAL;
 			param.uvalue = rtc->features[0];
 			break;
 
-		case RTC_PARAM_CORRECTION:
+		case RTC_PARAM_CORRECTION: {
+			long offset;
 			mutex_unlock(&rtc->ops_lock);
 			if (param.index != 0)
 				return -EINVAL;
@@ -407,7 +407,7 @@ static long rtc_dev_ioctl(struct file *file,
 			if (err == 0)
 				param.svalue = offset;
 			break;
-
+		}
 		default:
 			if (rtc->ops->param_get)
 				err = rtc->ops->param_get(rtc->dev.parent, &param);
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] rtc: Move variable into switch case statement
  2021-12-09  4:39 [PATCH] rtc: Move variable into switch case statement Kees Cook
@ 2021-12-14  0:47 ` Gustavo A. R. Silva
  2022-01-05  0:05 ` Alexandre Belloni
  1 sibling, 0 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2021-12-14  0:47 UTC (permalink / raw)
  To: Kees Cook
  Cc: Alessandro Zummo, Alexandre Belloni, linux-kernel, linux-rtc,
	linux-hardening, Gustavo A. R. Silva

On Wed, Dec 08, 2021 at 08:39:15PM -0800, Kees Cook wrote:
> When building with automatic stack variable initialization, GCC 12
> complains about variables defined outside of switch case statements.
> Move the variable into the case that uses it, which silences the warning:
> 
> drivers/rtc/dev.c: In function 'rtc_dev_ioctl':
> drivers/rtc/dev.c:394:30: warning: statement will never be executed [-Wswitch-unreachable]
>   394 |                         long offset;
>       |                              ^~~~~~
> 
> Fixes: 6a8af1b6568a ("rtc: add parameter ioctl")
> Signed-off-by: Kees Cook <keescook@chromium.org>

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks
--
Gustavo

> ---
>  drivers/rtc/dev.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/rtc/dev.c b/drivers/rtc/dev.c
> index e104972a28fd..69325aeede1a 100644
> --- a/drivers/rtc/dev.c
> +++ b/drivers/rtc/dev.c
> @@ -391,14 +391,14 @@ static long rtc_dev_ioctl(struct file *file,
>  		}
>  
>  		switch(param.param) {
> -			long offset;
>  		case RTC_PARAM_FEATURES:
>  			if (param.index != 0)
>  				err = -EINVAL;
>  			param.uvalue = rtc->features[0];
>  			break;
>  
> -		case RTC_PARAM_CORRECTION:
> +		case RTC_PARAM_CORRECTION: {
> +			long offset;
>  			mutex_unlock(&rtc->ops_lock);
>  			if (param.index != 0)
>  				return -EINVAL;
> @@ -407,7 +407,7 @@ static long rtc_dev_ioctl(struct file *file,
>  			if (err == 0)
>  				param.svalue = offset;
>  			break;
> -
> +		}
>  		default:
>  			if (rtc->ops->param_get)
>  				err = rtc->ops->param_get(rtc->dev.parent, &param);
> -- 
> 2.30.2
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] rtc: Move variable into switch case statement
  2021-12-09  4:39 [PATCH] rtc: Move variable into switch case statement Kees Cook
  2021-12-14  0:47 ` Gustavo A. R. Silva
@ 2022-01-05  0:05 ` Alexandre Belloni
  1 sibling, 0 replies; 3+ messages in thread
From: Alexandre Belloni @ 2022-01-05  0:05 UTC (permalink / raw)
  To: Kees Cook, Alessandro Zummo
  Cc: Alexandre Belloni, linux-hardening, linux-kernel, linux-rtc

On Wed, 8 Dec 2021 20:39:15 -0800, Kees Cook wrote:
> When building with automatic stack variable initialization, GCC 12
> complains about variables defined outside of switch case statements.
> Move the variable into the case that uses it, which silences the warning:
> 
> drivers/rtc/dev.c: In function 'rtc_dev_ioctl':
> drivers/rtc/dev.c:394:30: warning: statement will never be executed [-Wswitch-unreachable]
>   394 |                         long offset;
>       |                              ^~~~~~
> 
> [...]

Applied, thanks!

[1/1] rtc: Move variable into switch case statement
      commit: ba52eac083e1598e748811ff58d259f77e4c5c4d

Best regards,
-- 
Alexandre Belloni <alexandre.belloni@bootlin.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-05  0:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09  4:39 [PATCH] rtc: Move variable into switch case statement Kees Cook
2021-12-14  0:47 ` Gustavo A. R. Silva
2022-01-05  0:05 ` Alexandre Belloni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).