2015-12-27 05:12:53

by Joshua Clayton

[permalink] [raw]
Subject: [PATCH] mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE()

running sparse on drivers/staging/lustre results in dozens of warnings:
include/linux/gfp.h:281:41: warning:
odd constant _Bool cast (400000 becomes 1)

Use "!!" to explicitly convert the result to bool range.
---
include/linux/gfp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 91f74e7..6e58a8f 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -278,7 +278,7 @@ static inline int gfpflags_to_migratetype(const gfp_t gfp_flags)

static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags)
{
- return (bool __force)(gfp_flags & __GFP_DIRECT_RECLAIM);
+ return (bool __force)!!(gfp_flags & __GFP_DIRECT_RECLAIM);
}

#ifdef CONFIG_HIGHMEM
--
2.6.4


2015-12-27 05:41:25

by Al Viro

[permalink] [raw]
Subject: Re: [PATCH] mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE()

On Sat, Dec 26, 2015 at 09:12:42PM -0800, Joshua Clayton wrote:
> running sparse on drivers/staging/lustre results in dozens of warnings:
> include/linux/gfp.h:281:41: warning:
> odd constant _Bool cast (400000 becomes 1)
>
> Use "!!" to explicitly convert the result to bool range.

... and the cast to bool is left in order to...?

> - return (bool __force)(gfp_flags & __GFP_DIRECT_RECLAIM);
> + return (bool __force)!!(gfp_flags & __GFP_DIRECT_RECLAIM);

2015-12-27 06:39:44

by Joshua Clayton

[permalink] [raw]
Subject: [PATCH v2] mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE()

running sparse on drivers/staging/lustre results in dozens of warnings:
include/linux/gfp.h:281:41: warning:
odd constant _Bool cast (400000 becomes 1)

Use "!!" to explicitly convert to bool and get rid of the warning.

Signed-off-by: Joshua Clayton <[email protected]>
---

On Sunday, December 27, 2015 05:41:17 AM Al Viro wrote:
> On Sat, Dec 26, 2015 at 09:12:42PM -0800, Joshua Clayton wrote:
> > running sparse on drivers/staging/lustre results in dozens of warnings:
> > include/linux/gfp.h:281:41: warning:
> > odd constant _Bool cast (400000 becomes 1)
> >
> > Use "!!" to explicitly convert the result to bool range.
>
> ... and the cast to bool is left in order to...?
>
> > - return (bool __force)(gfp_flags & __GFP_DIRECT_RECLAIM);
> > + return (bool __force)!!(gfp_flags & __GFP_DIRECT_RECLAIM);
to embarrass me, I suppose. :(
I didn't think about the redundancy of the cast.
Lets try that again.

include/linux/gfp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 91f74e7..28ad5f6 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -278,7 +278,7 @@ static inline int gfpflags_to_migratetype(const gfp_t gfp_flags)

static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags)
{
- return (bool __force)(gfp_flags & __GFP_DIRECT_RECLAIM);
+ return !!(gfp_flags & __GFP_DIRECT_RECLAIM);
}

#ifdef CONFIG_HIGHMEM
--
2.6.4


2015-12-30 04:48:52

by Sudip Mukherjee

[permalink] [raw]
Subject: Re: [PATCH] mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE()

On Sat, Dec 26, 2015 at 09:12:42PM -0800, Joshua Clayton wrote:
> running sparse on drivers/staging/lustre results in dozens of warnings:
> include/linux/gfp.h:281:41: warning:
> odd constant _Bool cast (400000 becomes 1)
>
> Use "!!" to explicitly convert the result to bool range.
> ---

Signed-off-by missing.

regards
sudip

2015-12-30 04:54:31

by Joshua Clayton

[permalink] [raw]
Subject: Re: [PATCH] mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE()

On Wednesday, December 30, 2015 10:17:50 AM Sudip Mukherjee wrote:
> On Sat, Dec 26, 2015 at 09:12:42PM -0800, Joshua Clayton wrote:
> > running sparse on drivers/staging/lustre results in dozens of warnings:
> > include/linux/gfp.h:281:41: warning:
> > odd constant _Bool cast (400000 becomes 1)
> >
> > Use "!!" to explicitly convert the result to bool range.
> > ---
>
> Signed-off-by missing.
>
> regards
> sudip
Hmm. I must have forgotten the "-s" in git send-email
I'm thinking a patch this size wouldn't qualify for copyright even if an Oracle
Lawyer claimed it.
Nevertheless, all is well. The SOB made it into v2.