rtc: Move variable into switch case statement
authorKees Cook <keescook@chromium.org>
Thu, 9 Dec 2021 04:39:15 +0000 (20:39 -0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 5 Jan 2022 00:03:09 +0000 (01:03 +0100)
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>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20211209043915.1378393-1-keescook@chromium.org
drivers/rtc/dev.c

index e104972a28fdfddc9a05b0be8bb0dd1afed8f350..69325aeede1a380eff5031db427b995a4f7424cb 100644 (file)
@@ -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);