arm64: hw_breakpoint: mark expected switch fall-through
diff mbox series

Message ID 20190728232706.7396-1-mcroce@redhat.com
State New
Headers show
Series
  • arm64: hw_breakpoint: mark expected switch fall-through
Related show

Commit Message

Matteo Croce July 28, 2019, 11:27 p.m. UTC
Mark switch cases where we are expecting to fall through,
fixes the following warning:

  CC      arch/arm64/kernel/hw_breakpoint.o
arch/arm64/kernel/hw_breakpoint.c: In function ‘hw_breakpoint_arch_parse’:
arch/arm64/kernel/hw_breakpoint.c:540:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
       ^
arch/arm64/kernel/hw_breakpoint.c:542:3: note: here
   case 2:
   ^~~~
arch/arm64/kernel/hw_breakpoint.c:544:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
       ^
arch/arm64/kernel/hw_breakpoint.c:546:3: note: here
   default:
   ^~~~~~~

Signed-off-by: Matteo Croce <mcroce@redhat.com>
---
 arch/arm64/kernel/hw_breakpoint.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Gustavo A. R. Silva July 28, 2019, 11:34 p.m. UTC | #1
Hi Matteo,

I sent a patch for this some minutes ago:

https://lore.kernel.org/patchwork/patch/1106585/

It seems there are more warnings in that file than the ones you are
addressing.

Thanks
--
Gustavo

On 7/28/19 6:27 PM, Matteo Croce wrote:
> Mark switch cases where we are expecting to fall through,
> fixes the following warning:
> 
>   CC      arch/arm64/kernel/hw_breakpoint.o
> arch/arm64/kernel/hw_breakpoint.c: In function ‘hw_breakpoint_arch_parse’:
> arch/arm64/kernel/hw_breakpoint.c:540:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
>     if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
>        ^
> arch/arm64/kernel/hw_breakpoint.c:542:3: note: here
>    case 2:
>    ^~~~
> arch/arm64/kernel/hw_breakpoint.c:544:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
>     if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
>        ^
> arch/arm64/kernel/hw_breakpoint.c:546:3: note: here
>    default:
>    ^~~~~~~
> 
> Signed-off-by: Matteo Croce <mcroce@redhat.com>
> ---
>  arch/arm64/kernel/hw_breakpoint.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
> index dceb84520948..7d846985b133 100644
> --- a/arch/arm64/kernel/hw_breakpoint.c
> +++ b/arch/arm64/kernel/hw_breakpoint.c
> @@ -539,10 +539,12 @@ int hw_breakpoint_arch_parse(struct perf_event *bp,
>  			/* Allow single byte watchpoint. */
>  			if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
>  				break;
> +			/* fallthrough */
>  		case 2:
>  			/* Allow halfword watchpoints and breakpoints. */
>  			if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
>  				break;
> +			/* fallthrough */
>  		default:
>  			return -EINVAL;
>  		}
>
Matteo Croce July 28, 2019, 11:36 p.m. UTC | #2
Feel free di discard the patch then.
What compiler are you using? I' using gcc version 8.3.0 (Ubuntu/Linaro
8.3.0-6ubuntu1)

On Mon, Jul 29, 2019 at 1:34 AM Gustavo A. R. Silva
<gustavo@embeddedor.com> wrote:
>
> Hi Matteo,
>
> I sent a patch for this some minutes ago:
>
> https://lore.kernel.org/patchwork/patch/1106585/
>
> It seems there are more warnings in that file than the ones you are
> addressing.
>
> Thanks
> --
> Gustavo
>
> On 7/28/19 6:27 PM, Matteo Croce wrote:
> > Mark switch cases where we are expecting to fall through,
> > fixes the following warning:
> >
> >   CC      arch/arm64/kernel/hw_breakpoint.o
> > arch/arm64/kernel/hw_breakpoint.c: In function ‘hw_breakpoint_arch_parse’:
> > arch/arm64/kernel/hw_breakpoint.c:540:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
> >     if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
> >        ^
> > arch/arm64/kernel/hw_breakpoint.c:542:3: note: here
> >    case 2:
> >    ^~~~
> > arch/arm64/kernel/hw_breakpoint.c:544:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
> >     if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
> >        ^
> > arch/arm64/kernel/hw_breakpoint.c:546:3: note: here
> >    default:
> >    ^~~~~~~
> >
> > Signed-off-by: Matteo Croce <mcroce@redhat.com>
> > ---
> >  arch/arm64/kernel/hw_breakpoint.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
> > index dceb84520948..7d846985b133 100644
> > --- a/arch/arm64/kernel/hw_breakpoint.c
> > +++ b/arch/arm64/kernel/hw_breakpoint.c
> > @@ -539,10 +539,12 @@ int hw_breakpoint_arch_parse(struct perf_event *bp,
> >                       /* Allow single byte watchpoint. */
> >                       if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
> >                               break;
> > +                     /* fallthrough */
> >               case 2:
> >                       /* Allow halfword watchpoints and breakpoints. */
> >                       if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
> >                               break;
> > +                     /* fallthrough */
> >               default:
> >                       return -EINVAL;
> >               }
> >
Gustavo A. R. Silva July 28, 2019, 11:45 p.m. UTC | #3
On 7/28/19 6:36 PM, Matteo Croce wrote:
> Feel free di discard the patch then.
> What compiler are you using? I' using gcc version 8.3.0 (Ubuntu/Linaro
> 8.3.0-6ubuntu1)
> 

My bad. My patch address the ones in arch/arm/kernel/hw_breakpoint.c

Your patch should be fine.

--
Gustavo

> On Mon, Jul 29, 2019 at 1:34 AM Gustavo A. R. Silva
> <gustavo@embeddedor.com> wrote:
>>
>> Hi Matteo,
>>
>> I sent a patch for this some minutes ago:
>>
>> https://lore.kernel.org/patchwork/patch/1106585/
>>
>> It seems there are more warnings in that file than the ones you are
>> addressing.
>>
>> Thanks
>> --
>> Gustavo
>>
>> On 7/28/19 6:27 PM, Matteo Croce wrote:
>>> Mark switch cases where we are expecting to fall through,
>>> fixes the following warning:
>>>
>>>   CC      arch/arm64/kernel/hw_breakpoint.o
>>> arch/arm64/kernel/hw_breakpoint.c: In function ‘hw_breakpoint_arch_parse’:
>>> arch/arm64/kernel/hw_breakpoint.c:540:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
>>>     if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
>>>        ^
>>> arch/arm64/kernel/hw_breakpoint.c:542:3: note: here
>>>    case 2:
>>>    ^~~~
>>> arch/arm64/kernel/hw_breakpoint.c:544:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
>>>     if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
>>>        ^
>>> arch/arm64/kernel/hw_breakpoint.c:546:3: note: here
>>>    default:
>>>    ^~~~~~~
>>>
>>> Signed-off-by: Matteo Croce <mcroce@redhat.com>
>>> ---
>>>  arch/arm64/kernel/hw_breakpoint.c | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
>>> index dceb84520948..7d846985b133 100644
>>> --- a/arch/arm64/kernel/hw_breakpoint.c
>>> +++ b/arch/arm64/kernel/hw_breakpoint.c
>>> @@ -539,10 +539,12 @@ int hw_breakpoint_arch_parse(struct perf_event *bp,
>>>                       /* Allow single byte watchpoint. */
>>>                       if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
>>>                               break;
>>> +                     /* fallthrough */
>>>               case 2:
>>>                       /* Allow halfword watchpoints and breakpoints. */
>>>                       if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
>>>                               break;
>>> +                     /* fallthrough */
>>>               default:
>>>                       return -EINVAL;
>>>               }
>>>
> 
> 
>

Patch
diff mbox series

diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
index dceb84520948..7d846985b133 100644
--- a/arch/arm64/kernel/hw_breakpoint.c
+++ b/arch/arm64/kernel/hw_breakpoint.c
@@ -539,10 +539,12 @@  int hw_breakpoint_arch_parse(struct perf_event *bp,
 			/* Allow single byte watchpoint. */
 			if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1)
 				break;
+			/* fallthrough */
 		case 2:
 			/* Allow halfword watchpoints and breakpoints. */
 			if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2)
 				break;
+			/* fallthrough */
 		default:
 			return -EINVAL;
 		}