lkml.org 
[lkml]   [2021]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] scsi: st: Add missing break in switch statement in st_ioctl()
From
Date
On 8/17/2021 5:54 PM, Finn Thain wrote:
> On Tue, 17 Aug 2021, Nathan Chancellor wrote:
>
>> Clang + -Wimplicit-fallthrough warns:
>>
>> drivers/scsi/st.c:3831:2: warning: unannotated fall-through between
>> switch labels [-Wimplicit-fallthrough]
>> default:
>> ^
>> drivers/scsi/st.c:3831:2: note: insert 'break;' to avoid fall-through
>> default:
>> ^
>> break;
>> 1 warning generated.
>>
>> Clang's -Wimplicit-fallthrough is a little bit more pedantic than GCC's,
>> requiring every case block to end in break, return, or fallthrough,
>> rather than allowing implicit fallthroughs to cases that just contain
>> break or return. Add a break so that there is no more warning, as has
>> been done all over the tree already.
>>
>> Fixes: 2e27f576abc6 ("scsi: scsi_ioctl: Call scsi_cmd_ioctl() from scsi_ioctl()")
>> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
>> ---
>> drivers/scsi/st.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
>> index 2d1b0594af69..0e36a36ed24d 100644
>> --- a/drivers/scsi/st.c
>> +++ b/drivers/scsi/st.c
>> @@ -3828,6 +3828,7 @@ static long st_ioctl(struct file *file, unsigned int cmd_in, unsigned long arg)
>> case CDROM_SEND_PACKET:
>> if (!capable(CAP_SYS_RAWIO))
>> return -EPERM;
>> + break;
>> default:
>> break;
>> }
>>
>> base-commit: 58dd8f6e1cf8c47e81fbec9f47099772ab75278b
>>
>
> Well, that sure is ugly.
>
> Do you think the following change would cause any static checkers to spit
> their dummys and throw their toys out of the pram?
>
> @@ -3828,6 +3828,7 @@ static long st_ioctl(struct file *file, unsigned int cmd_in, unsigned long arg)
> case CDROM_SEND_PACKET:
> if (!capable(CAP_SYS_RAWIO))
> return -EPERM;
> + break;
> - default:
> - break;
> }
>

I cannot speak for other static checkers but clang does not complain in
this instance. cmd_in is the switch value, which is unsigned int; as far
as I am aware, clang will only complain about a switch not handling all
values when switching on an enumerated type.

Gustavo, if you are already handling all of the other warnings in -next,
do you want to take this one too?

Cheers,
Nathan

\
 
 \ /
  Last update: 2021-08-18 03:13    [W:0.051 / U:1.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site