2018-05-16 19:22:35

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH] mmc: block: propagate correct returned value in mmc_rpmb_ioctl

In commit 97548575bef3 ("mmc: block: Convert RPMB to a character device") a
new function `mmc_rpmb_ioctl` was added. The final return is simply
returning a value of `0` instead of propagating the correct return code.

Discovered during a compilation with W=1, silence the following gcc warning

drivers/mmc/core/block.c:2470:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Mathieu Malaterre <[email protected]>
---
drivers/mmc/core/block.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
index 9e923cd1d80e..38a7586b00cc 100644
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -2485,7 +2485,7 @@ static long mmc_rpmb_ioctl(struct file *filp, unsigned int cmd,
break;
}

- return 0;
+ return ret;
}

#ifdef CONFIG_COMPAT
--
2.11.0



2018-05-17 02:45:29

by Shawn Lin

[permalink] [raw]
Subject: Re: [PATCH] mmc: block: propagate correct returned value in mmc_rpmb_ioctl


On 2018/5/17 3:20, Mathieu Malaterre wrote:
> In commit 97548575bef3 ("mmc: block: Convert RPMB to a character device") a
> new function `mmc_rpmb_ioctl` was added. The final return is simply
> returning a value of `0` instead of propagating the correct return code.
>
> Discovered during a compilation with W=1, silence the following gcc warning
>
> drivers/mmc/core/block.c:2470:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
>

Good catch! But hey, which gcc are you using now? Mine, gcc-linaro-
6.3.1-2017.05-x86_64_aarch64-linux-gnu, with W=1 doesn't warn about
this. And it's worth backporting to stable.

Reviewed-by: Shawn Lin <[email protected]>

> Signed-off-by: Mathieu Malaterre <[email protected]>
> ---
> drivers/mmc/core/block.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
> index 9e923cd1d80e..38a7586b00cc 100644
> --- a/drivers/mmc/core/block.c
> +++ b/drivers/mmc/core/block.c
> @@ -2485,7 +2485,7 @@ static long mmc_rpmb_ioctl(struct file *filp, unsigned int cmd,
> break;
> }
>
> - return 0;
> + return ret;
> }
>
> #ifdef CONFIG_COMPAT
>


2018-05-17 06:16:51

by Mathieu Malaterre

[permalink] [raw]
Subject: Re: [PATCH] mmc: block: propagate correct returned value in mmc_rpmb_ioctl

On Thu, May 17, 2018 at 4:45 AM, Shawn Lin <[email protected]> wrote:
>
> On 2018/5/17 3:20, Mathieu Malaterre wrote:
>>
>> In commit 97548575bef3 ("mmc: block: Convert RPMB to a character device")
>> a
>> new function `mmc_rpmb_ioctl` was added. The final return is simply
>> returning a value of `0` instead of propagating the correct return code.
>>
>> Discovered during a compilation with W=1, silence the following gcc
>> warning
>>
>> drivers/mmc/core/block.c:2470:6: warning: variable ‘ret’ set but not
>> used [-Wunused-but-set-variable]
>>
>
> Good catch! But hey, which gcc are you using now? Mine, gcc-linaro-
> 6.3.1-2017.05-x86_64_aarch64-linux-gnu, with W=1 doesn't warn about
> this.

$ powerpc-linux-gnu-gcc --version
powerpc-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This is the default powerpc cross compiler on Debian stable (no
change). Config is simply a ppc32 (with some minor customization).


> And it's worth backporting to stable.

I am not familiar with the process, do I need to submit a v2 to add the line:

Cc: <[email protected]> # v4.15+

?

> Reviewed-by: Shawn Lin <[email protected]>
>
>
>> Signed-off-by: Mathieu Malaterre <[email protected]>
>> ---
>> drivers/mmc/core/block.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
>> index 9e923cd1d80e..38a7586b00cc 100644
>> --- a/drivers/mmc/core/block.c
>> +++ b/drivers/mmc/core/block.c
>> @@ -2485,7 +2485,7 @@ static long mmc_rpmb_ioctl(struct file *filp,
>> unsigned int cmd,
>> break;
>> }
>> - return 0;
>> + return ret;
>> }
>> #ifdef CONFIG_COMPAT
>>
>

2018-05-17 06:25:02

by Shawn Lin

[permalink] [raw]
Subject: Re: [PATCH] mmc: block: propagate correct returned value in mmc_rpmb_ioctl

On 2018/5/17 14:16, Mathieu Malaterre wrote:
> On Thu, May 17, 2018 at 4:45 AM, Shawn Lin <[email protected]> wrote:
>>
>> On 2018/5/17 3:20, Mathieu Malaterre wrote:
>>>
>>> In commit 97548575bef3 ("mmc: block: Convert RPMB to a character device")
>>> a
>>> new function `mmc_rpmb_ioctl` was added. The final return is simply
>>> returning a value of `0` instead of propagating the correct return code.
>>>
>>> Discovered during a compilation with W=1, silence the following gcc
>>> warning
>>>
>>> drivers/mmc/core/block.c:2470:6: warning: variable ‘ret’ set but not
>>> used [-Wunused-but-set-variable]
>>>
>>
>> Good catch! But hey, which gcc are you using now? Mine, gcc-linaro-
>> 6.3.1-2017.05-x86_64_aarch64-linux-gnu, with W=1 doesn't warn about
>> this.
>
> $ powerpc-linux-gnu-gcc --version
> powerpc-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0 20170516
> Copyright (C) 2016 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>

Thanks for sharing.

> This is the default powerpc cross compiler on Debian stable (no
> change). Config is simply a ppc32 (with some minor customization).
>
>
>> And it's worth backporting to stable.
>
> I am not familiar with the process, do I need to submit a v2 to add the line:
>
> Cc: <[email protected]> # v4.15+
>

In general Ulf could kindly help with it when applied. :)

> ?
>
>> Reviewed-by: Shawn Lin <[email protected]>
>>
>>
>>> Signed-off-by: Mathieu Malaterre <[email protected]>
>>> ---
>>> drivers/mmc/core/block.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
>>> index 9e923cd1d80e..38a7586b00cc 100644
>>> --- a/drivers/mmc/core/block.c
>>> +++ b/drivers/mmc/core/block.c
>>> @@ -2485,7 +2485,7 @@ static long mmc_rpmb_ioctl(struct file *filp,
>>> unsigned int cmd,
>>> break;
>>> }
>>> - return 0;
>>> + return ret;
>>> }
>>> #ifdef CONFIG_COMPAT
>>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>


2018-05-21 11:37:38

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: block: propagate correct returned value in mmc_rpmb_ioctl

On 16 May 2018 at 21:20, Mathieu Malaterre <[email protected]> wrote:
> In commit 97548575bef3 ("mmc: block: Convert RPMB to a character device") a
> new function `mmc_rpmb_ioctl` was added. The final return is simply
> returning a value of `0` instead of propagating the correct return code.
>
> Discovered during a compilation with W=1, silence the following gcc warning
>
> drivers/mmc/core/block.c:2470:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
>
> Signed-off-by: Mathieu Malaterre <[email protected]>

Thanks, applied for fixes and by adding a stable tag!

Kind regards
Uffe

> ---
> drivers/mmc/core/block.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
> index 9e923cd1d80e..38a7586b00cc 100644
> --- a/drivers/mmc/core/block.c
> +++ b/drivers/mmc/core/block.c
> @@ -2485,7 +2485,7 @@ static long mmc_rpmb_ioctl(struct file *filp, unsigned int cmd,
> break;
> }
>
> - return 0;
> + return ret;
> }
>
> #ifdef CONFIG_COMPAT
> --
> 2.11.0
>