Hi Christoph, kernel test robot noticed the following build errors: [auto build test ERROR on trondmy-nfs/linux-next] [also build test ERROR on linus/master v6.15-rc5 next-20250507] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Christoph-Hellwig/nfs-create-a-kernel-keyring/20250507-171041 base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next patch link: https://lore.kernel.org/r/20250507080944.3947782-2-hch%40lst.de patch subject: [PATCH 1/2] NFS: support the kernel keyring for TLS config: hexagon-defconfig (https://download.01.org/0day-ci/archive/20250508/202505081535.3PS62D63-lkp@xxxxxxxxx/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250508/202505081535.3PS62D63-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202505081535.3PS62D63-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> fs/nfs/fs_context.c:567:37: error: incomplete definition of type 'struct key' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:45:37: note: expanded from macro 'bitop' 45 | __builtin_constant_p((uintptr_t)(addr) != (uintptr_t)NULL) && \ | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:567:37: error: incomplete definition of type 'struct key' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:46:16: note: expanded from macro 'bitop' 46 | (uintptr_t)(addr) != (uintptr_t)NULL && \ | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:567:37: error: incomplete definition of type 'struct key' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:47:50: note: expanded from macro 'bitop' 47 | __builtin_constant_p(*(const unsigned long *)(addr))) ? \ | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:567:15: error: use of undeclared identifier 'KEY_FLAG_REVOKED' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ^ >> fs/nfs/fs_context.c:567:37: error: incomplete definition of type 'struct key' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:48:17: note: expanded from macro 'bitop' 48 | const##op(nr, addr) : op(nr, addr)) | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:567:37: error: incomplete definition of type 'struct key' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:48:32: note: expanded from macro 'bitop' 48 | const##op(nr, addr) : op(nr, addr)) | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:567:15: error: use of undeclared identifier 'KEY_FLAG_REVOKED' 567 | if (test_bit(KEY_FLAG_REVOKED, &key->flags) || | ^ >> fs/nfs/fs_context.c:567:15: error: use of undeclared identifier 'KEY_FLAG_REVOKED' fs/nfs/fs_context.c:568:41: error: incomplete definition of type 'struct key' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:45:37: note: expanded from macro 'bitop' 45 | __builtin_constant_p((uintptr_t)(addr) != (uintptr_t)NULL) && \ | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ fs/nfs/fs_context.c:568:41: error: incomplete definition of type 'struct key' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:46:16: note: expanded from macro 'bitop' 46 | (uintptr_t)(addr) != (uintptr_t)NULL && \ | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ fs/nfs/fs_context.c:568:41: error: incomplete definition of type 'struct key' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:47:50: note: expanded from macro 'bitop' 47 | __builtin_constant_p(*(const unsigned long *)(addr))) ? \ | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:568:15: error: use of undeclared identifier 'KEY_FLAG_INVALIDATED' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ^ fs/nfs/fs_context.c:568:41: error: incomplete definition of type 'struct key' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:48:17: note: expanded from macro 'bitop' 48 | const##op(nr, addr) : op(nr, addr)) | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ fs/nfs/fs_context.c:568:41: error: incomplete definition of type 'struct key' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ~~~^ include/linux/bitops.h:61:50: note: expanded from macro 'test_bit' 61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr) | ^~~~ include/linux/bitops.h:48:32: note: expanded from macro 'bitop' 48 | const##op(nr, addr) : op(nr, addr)) | ^~~~ include/linux/key.h:33:8: note: forward declaration of 'struct key' 33 | struct key; | ^ >> fs/nfs/fs_context.c:568:15: error: use of undeclared identifier 'KEY_FLAG_INVALIDATED' 568 | test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { | ^ >> fs/nfs/fs_context.c:568:15: error: use of undeclared identifier 'KEY_FLAG_INVALIDATED' 16 errors generated. vim +567 fs/nfs/fs_context.c 557 558 static int nfs_tls_key_verify(key_serial_t key_id) 559 { 560 struct key *key = key_lookup(key_id); 561 int error = 0; 562 563 if (IS_ERR(key)) { 564 pr_err("key id %08x not found\n", key_id); 565 return PTR_ERR(key); 566 } > 567 if (test_bit(KEY_FLAG_REVOKED, &key->flags) || > 568 test_bit(KEY_FLAG_INVALIDATED, &key->flags)) { 569 pr_err("key id %08x revoked\n", key_id); 570 error = -EKEYREVOKED; 571 } 572 573 key_put(key); 574 return error; 575 } 576 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki