Skip to content

Commit

Permalink
include/asm-generic/5level-fixup.h: fix variable 'p4d' set but not used
Browse files Browse the repository at this point in the history
A compiler throws a warning on an arm64 system since commit 9849a56
("arch, mm: convert all architectures to use 5level-fixup.h"),

  mm/kasan/init.c: In function 'kasan_free_p4d':
  mm/kasan/init.c:344:9: warning: variable 'p4d' set but not used [-Wunused-but-set-variable]
   p4d_t *p4d;
          ^~~

because p4d_none() in "5level-fixup.h" is compiled away while it is a
static inline function in "pgtable-nopud.h".

However, if converted p4d_none() to a static inline there, powerpc would
be unhappy as it reads those in assembler language in
"arch/powerpc/include/asm/book3s/64/pgtable.h", so it needs to skip
assembly include for the static inline C function.

While at it, converted a few similar functions to be consistent with the
ones in "pgtable-nopud.h".

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Qian Cai <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Cc: Kirill A. Shutemov <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Jason Gunthorpe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Qian Cai authored and torvalds committed Aug 13, 2019
1 parent 6a2aeab commit 0cfaee2
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions include/asm-generic/5level-fixup.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,24 @@

#define p4d_alloc(mm, pgd, address) (pgd)
#define p4d_offset(pgd, start) (pgd)
#define p4d_none(p4d) 0
#define p4d_bad(p4d) 0
#define p4d_present(p4d) 1

#ifndef __ASSEMBLY__
static inline int p4d_none(p4d_t p4d)
{
return 0;
}

static inline int p4d_bad(p4d_t p4d)
{
return 0;
}

static inline int p4d_present(p4d_t p4d)
{
return 1;
}
#endif

#define p4d_ERROR(p4d) do { } while (0)
#define p4d_clear(p4d) pgd_clear(p4d)
#define p4d_val(p4d) pgd_val(p4d)
Expand Down

0 comments on commit 0cfaee2

Please sign in to comment.