diff mbox series

platform/x86: sony-laptop: Fix unintentional fall-through

Message ID 20190424180934.GA29307@embeddedor (mailing list archive)
State Accepted, archived
Delegated to: Andy Shevchenko
Headers show
Series platform/x86: sony-laptop: Fix unintentional fall-through | expand

Commit Message

Gustavo A. R. Silva April 24, 2019, 6:09 p.m. UTC
It seems that the default case should return AE_CTRL_TERMINATE, instead
of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
otherwise the line of code at the end of the function is unreachable and
makes no sense:

return AE_CTRL_TERMINATE;

This fix is based on the following thread of discussion:

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

Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/platform/x86/sony-laptop.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Gustavo A. R. Silva May 1, 2019, 8:40 p.m. UTC | #1
Hi all,

Friendly ping:

Who can take this?

Thanks
--
Gustavo

On 4/24/19 1:09 PM, Gustavo A. R. Silva wrote:
> It seems that the default case should return AE_CTRL_TERMINATE, instead
> of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
> otherwise the line of code at the end of the function is unreachable and
> makes no sense:
> 
> return AE_CTRL_TERMINATE;
> 
> This fix is based on the following thread of discussion:
> 
> https://lore.kernel.org/patchwork/patch/959782/
> 
> Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
> Cc: stable@vger.kernel.org
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/platform/x86/sony-laptop.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
> index 4bfbfa3f78e6..2058445fc456 100644
> --- a/drivers/platform/x86/sony-laptop.c
> +++ b/drivers/platform/x86/sony-laptop.c
> @@ -4424,14 +4424,16 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
>  			}
>  			return AE_OK;
>  		}
> +
> +	case ACPI_RESOURCE_TYPE_END_TAG:
> +		return AE_OK;
> +
>  	default:
>  		dprintk("Resource %d isn't an IRQ nor an IO port\n",
>  			resource->type);
> +		return AE_CTRL_TERMINATE;
>  
> -	case ACPI_RESOURCE_TYPE_END_TAG:
> -		return AE_OK;
>  	}
> -	return AE_CTRL_TERMINATE;
>  }
>  
>  static int sony_pic_possible_resources(struct acpi_device *device)
>
Kees Cook May 1, 2019, 9:09 p.m. UTC | #2
On Wed, Apr 24, 2019 at 11:09 AM Gustavo A. R. Silva
<gustavo@embeddedor.com> wrote:
>
> It seems that the default case should return AE_CTRL_TERMINATE, instead
> of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
> otherwise the line of code at the end of the function is unreachable and
> makes no sense:
>
> return AE_CTRL_TERMINATE;
>
> This fix is based on the following thread of discussion:
>
> https://lore.kernel.org/patchwork/patch/959782/
>
> Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
> Cc: stable@vger.kernel.org
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>

Reviewed-by: Kees Cook <keescook@chromium.org>

-Kees

> ---
>  drivers/platform/x86/sony-laptop.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
> index 4bfbfa3f78e6..2058445fc456 100644
> --- a/drivers/platform/x86/sony-laptop.c
> +++ b/drivers/platform/x86/sony-laptop.c
> @@ -4424,14 +4424,16 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
>                         }
>                         return AE_OK;
>                 }
> +
> +       case ACPI_RESOURCE_TYPE_END_TAG:
> +               return AE_OK;
> +
>         default:
>                 dprintk("Resource %d isn't an IRQ nor an IO port\n",
>                         resource->type);
> +               return AE_CTRL_TERMINATE;
>
> -       case ACPI_RESOURCE_TYPE_END_TAG:
> -               return AE_OK;
>         }
> -       return AE_CTRL_TERMINATE;
>  }
>
>  static int sony_pic_possible_resources(struct acpi_device *device)
> --
> 2.21.0
>
Andy Shevchenko May 6, 2019, 12:23 p.m. UTC | #3
On Wed, May 1, 2019 at 11:42 PM Gustavo A. R. Silva
<gustavo@embeddedor.com> wrote:
>
> Hi all,
>
> Friendly ping:
>
> Who can take this?

Pushed to my review and testing queue, thanks!


>
> Thanks
> --
> Gustavo
>
> On 4/24/19 1:09 PM, Gustavo A. R. Silva wrote:
> > It seems that the default case should return AE_CTRL_TERMINATE, instead
> > of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
> > otherwise the line of code at the end of the function is unreachable and
> > makes no sense:
> >
> > return AE_CTRL_TERMINATE;
> >
> > This fix is based on the following thread of discussion:
> >
> > https://lore.kernel.org/patchwork/patch/959782/
> >
> > Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> > ---
> >  drivers/platform/x86/sony-laptop.c | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
> > index 4bfbfa3f78e6..2058445fc456 100644
> > --- a/drivers/platform/x86/sony-laptop.c
> > +++ b/drivers/platform/x86/sony-laptop.c
> > @@ -4424,14 +4424,16 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
> >                       }
> >                       return AE_OK;
> >               }
> > +
> > +     case ACPI_RESOURCE_TYPE_END_TAG:
> > +             return AE_OK;
> > +
> >       default:
> >               dprintk("Resource %d isn't an IRQ nor an IO port\n",
> >                       resource->type);
> > +             return AE_CTRL_TERMINATE;
> >
> > -     case ACPI_RESOURCE_TYPE_END_TAG:
> > -             return AE_OK;
> >       }
> > -     return AE_CTRL_TERMINATE;
> >  }
> >
> >  static int sony_pic_possible_resources(struct acpi_device *device)
> >
Gustavo A. R. Silva May 6, 2019, 9:35 p.m. UTC | #4
On 5/6/19 7:23 AM, Andy Shevchenko wrote:
> On Wed, May 1, 2019 at 11:42 PM Gustavo A. R. Silva
> <gustavo@embeddedor.com> wrote:
>>
>> Hi all,
>>
>> Friendly ping:
>>
>> Who can take this?
> 
> Pushed to my review and testing queue, thanks!
> 

Awesome. :)

Thanks, Andy.
--
Gustavo

> 
>>
>> Thanks
>> --
>> Gustavo
>>
>> On 4/24/19 1:09 PM, Gustavo A. R. Silva wrote:
>>> It seems that the default case should return AE_CTRL_TERMINATE, instead
>>> of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
>>> otherwise the line of code at the end of the function is unreachable and
>>> makes no sense:
>>>
>>> return AE_CTRL_TERMINATE;
>>>
>>> This fix is based on the following thread of discussion:
>>>
>>> https://lore.kernel.org/patchwork/patch/959782/
>>>
>>> Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
>>> Cc: stable@vger.kernel.org
>>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>>> ---
>>>  drivers/platform/x86/sony-laptop.c | 8 +++++---
>>>  1 file changed, 5 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
>>> index 4bfbfa3f78e6..2058445fc456 100644
>>> --- a/drivers/platform/x86/sony-laptop.c
>>> +++ b/drivers/platform/x86/sony-laptop.c
>>> @@ -4424,14 +4424,16 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
>>>                       }
>>>                       return AE_OK;
>>>               }
>>> +
>>> +     case ACPI_RESOURCE_TYPE_END_TAG:
>>> +             return AE_OK;
>>> +
>>>       default:
>>>               dprintk("Resource %d isn't an IRQ nor an IO port\n",
>>>                       resource->type);
>>> +             return AE_CTRL_TERMINATE;
>>>
>>> -     case ACPI_RESOURCE_TYPE_END_TAG:
>>> -             return AE_OK;
>>>       }
>>> -     return AE_CTRL_TERMINATE;
>>>  }
>>>
>>>  static int sony_pic_possible_resources(struct acpi_device *device)
>>>
> 
> 
>
diff mbox series

Patch

diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 4bfbfa3f78e6..2058445fc456 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -4424,14 +4424,16 @@  sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
 			}
 			return AE_OK;
 		}
+
+	case ACPI_RESOURCE_TYPE_END_TAG:
+		return AE_OK;
+
 	default:
 		dprintk("Resource %d isn't an IRQ nor an IO port\n",
 			resource->type);
+		return AE_CTRL_TERMINATE;
 
-	case ACPI_RESOURCE_TYPE_END_TAG:
-		return AE_OK;
 	}
-	return AE_CTRL_TERMINATE;
 }
 
 static int sony_pic_possible_resources(struct acpi_device *device)