rcu_cpu_has_callbacks() is declared int but is actually returning bool
and as the function description states " * Return true if the specified
CPU has any callback....", this probably should be a bool. All (3)
call-sites currently treat it as bool.
Type-checking coccinelle spatches are being used to locate type mismatches
between function signatures and return values in this case this produced:
./kernel/rcu/tree.c:3538 WARNING: return of wrong type
int != bool,
Patch was compile tested with x86_64_defconfig (implies CONFIG_TREE_RCU=y)
Patch is against 4.1-rc3 (localversion-next is -next-20150511)
Signed-off-by: Nicholas Mc Guire <[email protected]>
---
V3: fix-up of commit message again (hope I got it right this time) as
requested by Josh Triplett <[email protected]>/Steven Rostedt
<[email protected]>
kernel/rcu/tree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index bcc5943..599550c 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -3516,7 +3516,7 @@ static int rcu_pending(void)
* non-NULL, store an indication of whether all callbacks are lazy.
* (If there are no callbacks, all of them are deemed to be lazy.)
*/
-static int __maybe_unused rcu_cpu_has_callbacks(bool *all_lazy)
+static bool __maybe_unused rcu_cpu_has_callbacks(bool *all_lazy)
{
bool al = true;
bool hc = false;
--
1.7.10.4
On Mon, May 11, 2015 at 05:46:12PM +0200, Nicholas Mc Guire wrote:
> rcu_cpu_has_callbacks() is declared int but is actually returning bool
> and as the function description states " * Return true if the specified
> CPU has any callback....", this probably should be a bool. All (3)
> call-sites currently treat it as bool.
>
> Type-checking coccinelle spatches are being used to locate type mismatches
> between function signatures and return values in this case this produced:
> ./kernel/rcu/tree.c:3538 WARNING: return of wrong type
> int != bool,
>
> Patch was compile tested with x86_64_defconfig (implies CONFIG_TREE_RCU=y)
>
> Patch is against 4.1-rc3 (localversion-next is -next-20150511)
>
> Signed-off-by: Nicholas Mc Guire <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
Thanks!
> ---
>
> V3: fix-up of commit message again (hope I got it right this time) as
> requested by Josh Triplett <[email protected]>/Steven Rostedt
> <[email protected]>
>
> kernel/rcu/tree.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index bcc5943..599550c 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -3516,7 +3516,7 @@ static int rcu_pending(void)
> * non-NULL, store an indication of whether all callbacks are lazy.
> * (If there are no callbacks, all of them are deemed to be lazy.)
> */
> -static int __maybe_unused rcu_cpu_has_callbacks(bool *all_lazy)
> +static bool __maybe_unused rcu_cpu_has_callbacks(bool *all_lazy)
> {
> bool al = true;
> bool hc = false;
> --
> 1.7.10.4
>
On Mon, May 11, 2015 at 09:11:59AM -0700, Josh Triplett wrote:
> On Mon, May 11, 2015 at 05:46:12PM +0200, Nicholas Mc Guire wrote:
> > rcu_cpu_has_callbacks() is declared int but is actually returning bool
> > and as the function description states " * Return true if the specified
> > CPU has any callback....", this probably should be a bool. All (3)
> > call-sites currently treat it as bool.
> >
> > Type-checking coccinelle spatches are being used to locate type mismatches
> > between function signatures and return values in this case this produced:
> > ./kernel/rcu/tree.c:3538 WARNING: return of wrong type
> > int != bool,
> >
> > Patch was compile tested with x86_64_defconfig (implies CONFIG_TREE_RCU=y)
> >
> > Patch is against 4.1-rc3 (localversion-next is -next-20150511)
> >
> > Signed-off-by: Nicholas Mc Guire <[email protected]>
>
> Reviewed-by: Josh Triplett <[email protected]>
I queued V4 with Josh's Reviewed-by. I also capitalized the "change"
following the "rcu:" in the Subject line.
Thanx, Paul
> Thanks!
>
> > ---
> >
> > V3: fix-up of commit message again (hope I got it right this time) as
> > requested by Josh Triplett <[email protected]>/Steven Rostedt
> > <[email protected]>
> >
> > kernel/rcu/tree.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> > index bcc5943..599550c 100644
> > --- a/kernel/rcu/tree.c
> > +++ b/kernel/rcu/tree.c
> > @@ -3516,7 +3516,7 @@ static int rcu_pending(void)
> > * non-NULL, store an indication of whether all callbacks are lazy.
> > * (If there are no callbacks, all of them are deemed to be lazy.)
> > */
> > -static int __maybe_unused rcu_cpu_has_callbacks(bool *all_lazy)
> > +static bool __maybe_unused rcu_cpu_has_callbacks(bool *all_lazy)
> > {
> > bool al = true;
> > bool hc = false;
> > --
> > 1.7.10.4
> >
>