Re: [PATCH 2/2] nfs: create a kernel keyring

kernel test robot
2025-05-08T09:42:44Z

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-3-hch%40lst.de
patch subject: [PATCH 2/2] nfs: create a kernel keyring
config: hexagon-defconfig (https://download.01.org/0day-ci/archive/20250508/202505081720.vtCPwAc0-lkp@intel.com/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/202505081720.vtCPwAc0-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/202505081720.vtCPwAc0-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/nfs/inode.c:2584:17: error: call to undeclared function 'keyring_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2584 | nfs_keyring = keyring_alloc(".nfs",
| ^
>> fs/nfs/inode.c:2587:11: error: use of undeclared identifier 'KEY_POS_ALL'
2587 | (KEY_POS_ALL & ~KEY_POS_SETATTR) |
| ^
>> fs/nfs/inode.c:2587:26: error: use of undeclared identifier 'KEY_POS_SETATTR'
2587 | (KEY_POS_ALL & ~KEY_POS_SETATTR) |
| ^
>> fs/nfs/inode.c:2588:11: error: use of undeclared identifier 'KEY_USR_ALL'
2588 | (KEY_USR_ALL & ~KEY_USR_SETATTR),
| ^
>> fs/nfs/inode.c:2588:26: error: use of undeclared identifier 'KEY_USR_SETATTR'
2588 | (KEY_USR_ALL & ~KEY_USR_SETATTR),
| ^
>> fs/nfs/inode.c:2589:10: error: use of undeclared identifier 'KEY_ALLOC_NOT_IN_QUOTA'
2589 | KEY_ALLOC_NOT_IN_QUOTA, NULL, NULL);
| ^
6 errors generated.

vim +/keyring_alloc +2584 fs/nfs/inode.c

2575
2576 /*
2577 * Initialize NFS
2578 */
2579 static int __init init_nfs_fs(void)
2580 {
2581 int err;
2582
2583 if (IS_ENABLED(CONFIG_NFS_V4)) {
> 2584 nfs_keyring = keyring_alloc(".nfs",
2585 GLOBAL_ROOT_UID, GLOBAL_ROOT_GID,
2586 current_cred(),
> 2587 (KEY_POS_ALL & ~KEY_POS_SETATTR) |
> 2588 (KEY_USR_ALL & ~KEY_USR_SETATTR),
> 2589 KEY_ALLOC_NOT_IN_QUOTA, NULL, NULL);
2590 if (IS_ERR(nfs_keyring))
2591 return PTR_ERR(nfs_keyring);
2592 }
2593
2594 err = nfs_sysfs_init();
2595 if (err < 0)
2596 goto out10;
2597
2598 err = register_pernet_subsys(&nfs_net_ops);
2599 if (err < 0)
2600 goto out9;
2601
2602 err = nfsiod_start();
2603 if (err)
2604 goto out7;
2605
2606 err = nfs_fs_proc_init();
2607 if (err)
2608 goto out6;
2609
2610 err = nfs_init_nfspagecache();
2611 if (err)
2612 goto out5;
2613
2614 err = nfs_init_inodecache();
2615 if (err)
2616 goto out4;
2617
2618 err = nfs_init_readpagecache();
2619 if (err)
2620 goto out3;
2621
2622 err = nfs_init_writepagecache();
2623 if (err)
2624 goto out2;
2625
2626 err = nfs_init_directcache();
2627 if (err)
2628 goto out1;
2629
2630 err = register_nfs_fs();
2631 if (err)
2632 goto out0;
2633
2634 return 0;
2635 out0:
2636 nfs_destroy_directcache();
2637 out1:
2638 nfs_destroy_writepagecache();
2639 out2:
2640 nfs_destroy_readpagecache();
2641 out3:
2642 nfs_destroy_inodecache();
2643 out4:
2644 nfs_destroy_nfspagecache();
2645 out5:
2646 nfs_fs_proc_exit();
2647 out6:
2648 nfsiod_stop();
2649 out7:
2650 unregister_pernet_subsys(&nfs_net_ops);
2651 out9:
2652 nfs_sysfs_exit();
2653 out10:
2654 return err;
2655 }
2656

--
0-DAY CI Kernel Test Service