| From 416bd6438cb80725e81613d0b76a4cf84ce9fabb Mon Sep 17 00:00:00 2001 |
| From: Nathan Chancellor <natechancellor@gmail.com> |
| Date: Thu, 13 Feb 2020 23:42:07 -0700 |
| Subject: [PATCH] s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in |
| storage_key_init_range |
| |
| commit 380324734956c64cd060e1db4304f3117ac15809 upstream. |
| |
| Clang warns: |
| |
| In file included from ../arch/s390/purgatory/purgatory.c:10: |
| In file included from ../include/linux/kexec.h:18: |
| In file included from ../include/linux/crash_core.h:6: |
| In file included from ../include/linux/elfcore.h:5: |
| In file included from ../include/linux/user.h:1: |
| In file included from ../arch/s390/include/asm/user.h:11: |
| ../arch/s390/include/asm/page.h:45:6: warning: converting the result of |
| '<<' to a boolean always evaluates to false |
| [-Wtautological-constant-compare] |
| if (PAGE_DEFAULT_KEY) |
| ^ |
| ../arch/s390/include/asm/page.h:23:44: note: expanded from macro |
| 'PAGE_DEFAULT_KEY' |
| #define PAGE_DEFAULT_KEY (PAGE_DEFAULT_ACC << 4) |
| ^ |
| 1 warning generated. |
| |
| Explicitly compare this against zero to silence the warning as it is |
| intended to be used in a boolean context. |
| |
| Fixes: de3fa841e429 ("s390/mm: fix compile for PAGE_DEFAULT_KEY != 0") |
| Link: https://github.com/ClangBuiltLinux/linux/issues/860 |
| Link: https://lkml.kernel.org/r/20200214064207.10381-1-natechancellor@gmail.com |
| Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> |
| Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> |
| Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/s390/include/asm/page.h b/arch/s390/include/asm/page.h |
| index 3f5cb55cde35..e399102367af 100644 |
| --- a/arch/s390/include/asm/page.h |
| +++ b/arch/s390/include/asm/page.h |
| @@ -42,7 +42,7 @@ void __storage_key_init_range(unsigned long start, unsigned long end); |
| |
| static inline void storage_key_init_range(unsigned long start, unsigned long end) |
| { |
| - if (PAGE_DEFAULT_KEY) |
| + if (PAGE_DEFAULT_KEY != 0) |
| __storage_key_init_range(start, end); |
| } |
| |
| -- |
| 2.7.4 |
| |