Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* [davidhildenbrand:folded_pgtable 13/13] include/asm-generic/pgtable-nop4d.h:46:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations
@ 2026-07-04  2:39 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-04  2:39 UTC (permalink / raw)
  To: David Hildenbrand (Arm); +Cc: llvm, oe-kbuild-all

tree:   https://github.com/davidhildenbrand/linux folded_pgtable
head:   898b37f4865d94ff198bb62dfe2517a6d1b7d44e
commit: 898b37f4865d94ff198bb62dfe2517a6d1b7d44e [13/13] mm/pgtable: catch abuse of folded dummy pgd_t/p4d_t/pud_t
config: i386-defconfig (https://download.01.org/0day-ci/archive/20260704/202607041001.lwd0KBN0-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260704/202607041001.lwd0KBN0-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607041001.lwd0KBN0-lkp@intel.com/

All errors (new ones prefixed by >>):

   WARN /zdci/src/lkp/lib/log.sh:131:in `log_warn': /opt/cross/rustc-1.96.0-bindgen-0.72.1 doesn't exist
     from /zdci/src/kernel-tests/lib/debug.sh:164: kbuild_log_warn
     from /zdci/src/kernel-tests/lib/kbuild.sh:3371: export_rust_path
     from /zdci/src/kernel-tests/lib/kbuild.sh:3361: export_compiler_path
     from /zdci/src/kernel-tests/lib/kbuild.sh:3840: invoke_make
     from /zdci/src/kernel-tests/lib/kbuild.sh:4022: make
     from /zdci/src/kernel-tests/common.sh:202: redirect_error_to_screen
     from /zdci/src/kernel-tests/common.sh:210: redirect_command_errors
     from /zdci/src/kernel-tests/lib/kbuild.sh:5680: make_prepare
     from /zdci/src/kernel-tests/lib/kbuild.sh:5909: test_kernel_build
     from /zdci/src/kernel-tests/lib/builder/base.sh:442: builder_execute_build
     from /zdci/src/kernel-tests/lib/kbuild.sh:6419: compile_one_config
     from /zdci/src/kernel-tests/lib/builder/base.sh:88: builder_compile
     from /zdci/src/kernel-tests/bisect-test-build-error.sh:101: main
   In file included from arch/x86/kernel/asm-offsets.c:9:
   In file included from include/linux/crypto.h:15:
   In file included from include/linux/completion.h:12:
   In file included from include/linux/swait.h:7:
   In file included from include/linux/spinlock.h:59:
   In file included from include/linux/irqflags.h:18:
   In file included from arch/x86/include/asm/irqflags.h:100:
   In file included from arch/x86/include/asm/paravirt.h:10:
   In file included from arch/x86/include/asm/paravirt_types.h:12:
   In file included from arch/x86/include/asm/pgtable_types.h:354:
>> include/asm-generic/pgtable-nop4d.h:46:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      46 |         BUILD_BUG_ON(__builtin_constant_p(pgd_val(*pgd)));
         |                                           ^
   include/asm-generic/pgtable-nop4d.h:46:36: note: did you mean 'pgd_bad'?
   include/asm-generic/pgtable-nop4d.h:22:19: note: 'pgd_bad' declared here
      22 | static inline int pgd_bad(pgd_t pgd)            { return 0; }
         |                   ^
   include/asm-generic/pgtable-nop4d.h:53:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      53 |         BUILD_BUG_ON(__builtin_constant_p(pgd_val(*pgdp)));
         |                                           ^
   In file included from arch/x86/kernel/asm-offsets.c:9:
   In file included from include/linux/crypto.h:15:
   In file included from include/linux/completion.h:12:
   In file included from include/linux/swait.h:7:
   In file included from include/linux/spinlock.h:59:
   In file included from include/linux/irqflags.h:18:
   In file included from arch/x86/include/asm/irqflags.h:100:
   In file included from arch/x86/include/asm/paravirt.h:10:
   In file included from arch/x86/include/asm/paravirt_types.h:12:
   In file included from arch/x86/include/asm/pgtable_types.h:380:
>> include/asm-generic/pgtable-nopud.h:53:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      53 |         BUILD_BUG_ON(__builtin_constant_p(p4d_val(*p4d)));
         |                                           ^
   include/asm-generic/pgtable-nop4d.h:58:24: note: expanded from macro 'p4d_val'
      58 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^
   In file included from arch/x86/kernel/asm-offsets.c:9:
   In file included from include/linux/crypto.h:15:
   In file included from include/linux/completion.h:12:
   In file included from include/linux/swait.h:7:
   In file included from include/linux/spinlock.h:59:
   In file included from include/linux/irqflags.h:18:
   In file included from arch/x86/include/asm/irqflags.h:100:
   In file included from arch/x86/include/asm/paravirt.h:10:
   In file included from arch/x86/include/asm/paravirt_types.h:12:
   In file included from arch/x86/include/asm/pgtable_types.h:380:
   include/asm-generic/pgtable-nopud.h:61:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      61 |         BUILD_BUG_ON(__builtin_constant_p(p4d_val(*p4dp)));
         |                                           ^
   include/asm-generic/pgtable-nop4d.h:58:24: note: expanded from macro 'p4d_val'
      58 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^
   In file included from arch/x86/kernel/asm-offsets.c:9:
   In file included from include/linux/crypto.h:15:
   In file included from include/linux/completion.h:12:
   In file included from include/linux/swait.h:7:
   In file included from include/linux/spinlock.h:59:
   In file included from include/linux/irqflags.h:18:
   In file included from arch/x86/include/asm/irqflags.h:100:
   In file included from arch/x86/include/asm/paravirt.h:10:
   In file included from arch/x86/include/asm/paravirt_types.h:12:
   In file included from arch/x86/include/asm/pgtable_types.h:404:
>> include/asm-generic/pgtable-nopmd.h:55:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      55 |         BUILD_BUG_ON(__builtin_constant_p(pud_val(*pud)));
         |                                           ^
   include/asm-generic/pgtable-nopud.h:66:24: note: expanded from macro 'pud_val'
      66 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^
   include/asm-generic/pgtable-nop4d.h:58:24: note: expanded from macro 'p4d_val'
      58 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^
   In file included from arch/x86/kernel/asm-offsets.c:9:
   In file included from include/linux/crypto.h:15:
   In file included from include/linux/completion.h:12:
   In file included from include/linux/swait.h:7:
   In file included from include/linux/spinlock.h:59:
   In file included from include/linux/irqflags.h:18:
   In file included from arch/x86/include/asm/irqflags.h:100:
   In file included from arch/x86/include/asm/paravirt.h:10:
   In file included from arch/x86/include/asm/paravirt_types.h:12:
   In file included from arch/x86/include/asm/pgtable_types.h:404:
   include/asm-generic/pgtable-nopmd.h:63:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      63 |         BUILD_BUG_ON(__builtin_constant_p(pud_val(*pudp)));
         |                                           ^
   include/asm-generic/pgtable-nopud.h:66:24: note: expanded from macro 'pud_val'
      66 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^
   include/asm-generic/pgtable-nop4d.h:58:24: note: expanded from macro 'p4d_val'
      58 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:5:
   In file included from include/linux/fs/super.h:5:
   In file included from include/linux/fs/super_types.h:13:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[2]') [-Warray-bounds]
      98 |                 return (set->sig[3] | set->sig[2] |
         |                         ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:5:
   In file included from include/linux/fs/super.h:5:
   In file included from include/linux/fs/super_types.h:13:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[2]') [-Warray-bounds]
      98 |                 return (set->sig[3] | set->sig[2] |
         |                                       ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:5:
   In file included from include/linux/fs/super.h:5:
   In file included from include/linux/fs/super_types.h:13:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:114:11: warning: array index 3 is past the end of the array (that has type 'const unsigned long[2]') [-Warray-bounds]
     114 |                 return  (set1->sig[3] == set2->sig[3]) &&
         |                          ^         ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:5:
   In file included from include/linux/fs/super.h:5:
   In file included from include/linux/fs/super_types.h:13:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:114:27: warning: array index 3 is past the end of the array (that has type 'const unsigned long[2]') [-Warray-bounds]
     114 |                 return  (set1->sig[3] == set2->sig[3]) &&
         |                                          ^         ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:


vim +/pgd_val +46 include/asm-generic/pgtable-nop4d.h

    43	
    44	static __always_inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
    45	{
  > 46		BUILD_BUG_ON(__builtin_constant_p(pgd_val(*pgd)));
    47		return (p4d_t *)pgd;
    48	}
    49	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-04  2:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-04  2:39 [davidhildenbrand:folded_pgtable 13/13] include/asm-generic/pgtable-nop4d.h:46:36: error: call to undeclared function 'pgd_val'; ISO C99 and later do not support implicit function declarations kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox