lkml.org 
[lkml]   [2019]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 03/33] MIPS: tlbex: Explicitly cast _PAGE_NO_EXEC to a boolean
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    [ Upstream commit c59ae0a1055127dd3828a88e111a0db59b254104 ]

    clang warns:

    arch/mips/mm/tlbex.c:634:19: error: use of logical '&&' with constant
    operand [-Werror,-Wconstant-logical-operand]
    if (cpu_has_rixi && _PAGE_NO_EXEC) {
    ^ ~~~~~~~~~~~~~
    arch/mips/mm/tlbex.c:634:19: note: use '&' for a bitwise operation
    if (cpu_has_rixi && _PAGE_NO_EXEC) {
    ^~
    &
    arch/mips/mm/tlbex.c:634:19: note: remove constant to silence this
    warning
    if (cpu_has_rixi && _PAGE_NO_EXEC) {
    ~^~~~~~~~~~~~~~~~
    1 error generated.

    Explicitly cast this value to a boolean so that clang understands we
    intend for this to be a non-zero value.

    Fixes: 00bf1c691d08 ("MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields")
    Link: https://github.com/ClangBuiltLinux/linux/issues/609
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: clang-built-linux@googlegroups.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/mips/mm/tlbex.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
    index 8c4fda52b91dc..355f8eadb1cd2 100644
    --- a/arch/mips/mm/tlbex.c
    +++ b/arch/mips/mm/tlbex.c
    @@ -630,7 +630,7 @@ static __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
    return;
    }

    - if (cpu_has_rixi && _PAGE_NO_EXEC) {
    + if (cpu_has_rixi && !!_PAGE_NO_EXEC) {
    if (fill_includes_sw_bits) {
    UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL));
    } else {
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-09-29 19:35    [W:2.296 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site