lkml.org 
[lkml]   [2020]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.6 111/126] sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()
    Date
    From: Mike Rapoport <rppt@linux.ibm.com>

    commit c2bc26f7ca1ff1165bb6669a7a4cccc20ffd2ced upstream.

    The kbuild test robot reported the following warning:

    arch/sparc/mm/srmmu.c: In function 'srmmu_nocache_init': arch/sparc/mm/srmmu.c:300:9: error: variable 'pud' set but not used [-Werror=unused-but-set-variable]
    300 | pud_t *pud;

    This warning is caused by misprint in the page table traversal in
    srmmu_nocache_init() function which accessed a PMD entry using PGD
    rather than PUD.

    Since sparc32 has only 3 page table levels, the PGD and PUD are
    essentially the same and usage of __nocache_fix() removed the type
    checking.

    Use PUD for the consistency and to silence the compiler warning.

    Fixes: 7235db268a2777bc38 ("sparc32: use pgtable-nopud instead of 4level-fixup")
    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Anatoly Pugachev <matorola@gmail.com>
    Cc: <stable@vger.kernel.org>
    Link: http://lkml.kernel.org/r/20200520132005.GM1059226@linux.ibm.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/sparc/mm/srmmu.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/sparc/mm/srmmu.c
    +++ b/arch/sparc/mm/srmmu.c
    @@ -333,7 +333,7 @@ static void __init srmmu_nocache_init(vo
    pgd = pgd_offset_k(vaddr);
    p4d = p4d_offset(__nocache_fix(pgd), vaddr);
    pud = pud_offset(__nocache_fix(p4d), vaddr);
    - pmd = pmd_offset(__nocache_fix(pgd), vaddr);
    + pmd = pmd_offset(__nocache_fix(pud), vaddr);
    pte = pte_offset_kernel(__nocache_fix(pmd), vaddr);

    pteval = ((paddr >> 4) | SRMMU_ET_PTE | SRMMU_PRIV);

    \
     
     \ /
      Last update: 2020-05-26 21:16    [W:2.997 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site