• Christophe Leroy's avatar
    mm: ptdump: fix build failure · 45837691
    Christophe Leroy authored
    READ_ONCE() cannot be used for reading PTEs.  Use ptep_get() instead, to
    avoid the following errors:
    
        CC      mm/ptdump.o
      In file included from <command-line>:
      mm/ptdump.c: In function 'ptdump_pte_entry':
      include/linux/compiler_types.h:320:38: error: call to '__compiletime_assert_207' declared with attribute error: Unsupported access size for {READ,WRITE}_ONCE().
        320 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
            |                                      ^
      include/linux/compiler_types.h:301:4: note: in definition of macro '__compiletime_assert'
        301 |    prefix ## suffix();    \
            |    ^~~~~~
      include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
        320 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
            |  ^~~~~~~~~~~~~~~~~~~
      include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
         36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
            |  ^~~~~~~~~~~~~~~~~~
      include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
         49 |  compiletime_assert_rwonce_type(x);    \
            |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm/ptdump.c:114:14: note: in expansion of macro 'READ_ONCE'
        114 |  pte_t val = READ_ONCE(*pte);
            |              ^~~~~~~~~
      make[2]: *** [mm/ptdump.o] Error 1
    
    See commit 481e980a ("mm: Allow arches to provide ptep_get()") and
    commit c0e1c8c2 ("powerpc/8xx: Provide ptep_get() with 16k pages")
    for details.
    
    Link: https://lkml.kernel.org/r/912b349e2bcaa88939904815ca0af945740c6bd4.1618478922.git.christophe.leroy@csgroup.eu
    Fixes: 30d621f6 ("mm: add generic ptdump")
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Steven Price <steven.price@arm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    45837691
ptdump.c 4.01 KB