| From 03af020be6c1b36fcf922898f75111ec55ea13e9 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 5 Apr 2018 16:25:30 -0700 |
| Subject: include/linux/mmdebug.h: make VM_WARN* non-rvals |
| |
| From: Michal Hocko <mhocko@kernel.org> |
| |
| [ Upstream commit 91241681c62a5a690c88eb2aca027f094125eaac ] |
| |
| At present the construct |
| |
| if (VM_WARN(...)) |
| |
| will compile OK with CONFIG_DEBUG_VM=y and will fail with |
| CONFIG_DEBUG_VM=n. The reason is that VM_{WARN,BUG}* have always been |
| special wrt. {WARN/BUG}* and never generate any code when DEBUG_VM is |
| disabled. So we cannot really use it in conditionals. |
| |
| We considered changing things so that this construct works in both cases |
| but that might cause unwanted code generation with CONFIG_DEBUG_VM=n. |
| It is safer and simpler to make the build fail in both cases. |
| |
| [akpm@linux-foundation.org: changelog] |
| Signed-off-by: Michal Hocko <mhocko@suse.com> |
| Reviewed-by: Andrew Morton <akpm@linux-foundation.org> |
| Cc: Stephen Rothwell <sfr@canb.auug.org.au> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| include/linux/mmdebug.h | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/include/linux/mmdebug.h b/include/linux/mmdebug.h |
| index 57b0030d3800..2ad72d2c8cc5 100644 |
| --- a/include/linux/mmdebug.h |
| +++ b/include/linux/mmdebug.h |
| @@ -37,10 +37,10 @@ void dump_mm(const struct mm_struct *mm); |
| BUG(); \ |
| } \ |
| } while (0) |
| -#define VM_WARN_ON(cond) WARN_ON(cond) |
| -#define VM_WARN_ON_ONCE(cond) WARN_ON_ONCE(cond) |
| -#define VM_WARN_ONCE(cond, format...) WARN_ONCE(cond, format) |
| -#define VM_WARN(cond, format...) WARN(cond, format) |
| +#define VM_WARN_ON(cond) (void)WARN_ON(cond) |
| +#define VM_WARN_ON_ONCE(cond) (void)WARN_ON_ONCE(cond) |
| +#define VM_WARN_ONCE(cond, format...) (void)WARN_ONCE(cond, format) |
| +#define VM_WARN(cond, format...) (void)WARN(cond, format) |
| #else |
| #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) |
| #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) |
| -- |
| 2.30.2 |
| |