| From 2ea168801fa2f5487b54e9e88842b10e6183ee78 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 29 Aug 2018 11:45:21 +0200 |
| Subject: sched/debug: Explicitly cast sched_feat() to bool |
| |
| From: Peter Zijlstra <peterz@infradead.org> |
| |
| [ Upstream commit 7e6f4c5d600c1c8e2a1d900e65cab319d9b6782e ] |
| |
| LLVM has a warning that tags expressions like: |
| |
| if (foo && non-bool-const) |
| |
| This pattern triggers for CONFIG_SCHED_DEBUG=n where sched_feat() ends |
| up being whatever bit we select. Avoid the warning with an explicit |
| cast to bool. |
| |
| Reported-by: Philipp Klocke <philipp97kl@gmail.com> |
| Tested-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Cc: linux-kernel@vger.kernel.org |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| kernel/sched/sched.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h |
| index 62058fd6dcf63..94bec97bd5e28 100644 |
| --- a/kernel/sched/sched.h |
| +++ b/kernel/sched/sched.h |
| @@ -1389,7 +1389,7 @@ static const_debug __maybe_unused unsigned int sysctl_sched_features = |
| 0; |
| #undef SCHED_FEAT |
| |
| -#define sched_feat(x) (sysctl_sched_features & (1UL << __SCHED_FEAT_##x)) |
| +#define sched_feat(x) !!(sysctl_sched_features & (1UL << __SCHED_FEAT_##x)) |
| |
| #endif /* SCHED_DEBUG && CONFIG_JUMP_LABEL */ |
| |
| -- |
| 2.20.1 |
| |