| From ba52eac083e1598e748811ff58d259f77e4c5c4d Mon Sep 17 00:00:00 2001 |
| From: Kees Cook <keescook@chromium.org> |
| Date: Wed, 8 Dec 2021 20:39:15 -0800 |
| Subject: rtc: Move variable into switch case statement |
| |
| From: Kees Cook <keescook@chromium.org> |
| |
| commit ba52eac083e1598e748811ff58d259f77e4c5c4d upstream. |
| |
| 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 |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/rtc/dev.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/rtc/dev.c |
| +++ b/drivers/rtc/dev.c |
| @@ -391,14 +391,14 @@ static long rtc_dev_ioctl(struct file *f |
| } |
| |
| 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 *f |
| if (err == 0) |
| param.svalue = offset; |
| break; |
| - |
| + } |
| default: |
| if (rtc->ops->param_get) |
| err = rtc->ops->param_get(rtc->dev.parent, ¶m); |