[hare-scsi-devel:tls-upcall.v4 133/156] drivers/nvme/host/core.c:4946: undefined reference to `nvme_keyring_exit'

From: kernel test robot
Date: Sun Mar 13 2022 - 08:32:03 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git tls-upcall.v4
head: d2416ecdb6b03fc2e4aa40b20cdf919322713224
commit: 5c012a33316168af9ff3a20ee1ae0edc60c745ae [133/156] nvme: register .nvme keyring
config: i386-randconfig-a014 (https://download.01.org/0day-ci/archive/20220313/202203132014.0xK2u0OO-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commit/?id=5c012a33316168af9ff3a20ee1ae0edc60c745ae
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel tls-upcall.v4
git checkout 5c012a33316168af9ff3a20ee1ae0edc60c745ae
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

ld: drivers/nvme/host/core.o: in function `nvme_core_exit':
>> drivers/nvme/host/core.c:4946: undefined reference to `nvme_keyring_exit'
ld: drivers/nvme/host/core.o: in function `nvme_core_init':
>> drivers/nvme/host/core.c:4918: undefined reference to `nvme_keyring_init'


vim +4946 drivers/nvme/host/core.c

4866
4867
4868 static int __init nvme_core_init(void)
4869 {
4870 int result = -ENOMEM;
4871
4872 _nvme_check_size();
4873
4874 nvme_wq = alloc_workqueue("nvme-wq",
4875 WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS, 0);
4876 if (!nvme_wq)
4877 goto out;
4878
4879 nvme_reset_wq = alloc_workqueue("nvme-reset-wq",
4880 WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS, 0);
4881 if (!nvme_reset_wq)
4882 goto destroy_wq;
4883
4884 nvme_delete_wq = alloc_workqueue("nvme-delete-wq",
4885 WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS, 0);
4886 if (!nvme_delete_wq)
4887 goto destroy_reset_wq;
4888
4889 result = alloc_chrdev_region(&nvme_ctrl_base_chr_devt, 0,
4890 NVME_MINORS, "nvme");
4891 if (result < 0)
4892 goto destroy_delete_wq;
4893
4894 nvme_class = class_create(THIS_MODULE, "nvme");
4895 if (IS_ERR(nvme_class)) {
4896 result = PTR_ERR(nvme_class);
4897 goto unregister_chrdev;
4898 }
4899 nvme_class->dev_uevent = nvme_class_uevent;
4900
4901 nvme_subsys_class = class_create(THIS_MODULE, "nvme-subsystem");
4902 if (IS_ERR(nvme_subsys_class)) {
4903 result = PTR_ERR(nvme_subsys_class);
4904 goto destroy_class;
4905 }
4906
4907 result = alloc_chrdev_region(&nvme_ns_chr_devt, 0, NVME_MINORS,
4908 "nvme-generic");
4909 if (result < 0)
4910 goto destroy_subsys_class;
4911
4912 nvme_ns_chr_class = class_create(THIS_MODULE, "nvme-generic");
4913 if (IS_ERR(nvme_ns_chr_class)) {
4914 result = PTR_ERR(nvme_ns_chr_class);
4915 goto unregister_generic_ns;
4916 }
4917
> 4918 result = nvme_keyring_init();
4919 if (result)
4920 goto destroy_ns_chr_class;
4921
4922 return 0;
4923
4924 destroy_ns_chr_class:
4925 class_destroy(nvme_ns_chr_class);
4926 unregister_generic_ns:
4927 unregister_chrdev_region(nvme_ns_chr_devt, NVME_MINORS);
4928 destroy_subsys_class:
4929 class_destroy(nvme_subsys_class);
4930 destroy_class:
4931 class_destroy(nvme_class);
4932 unregister_chrdev:
4933 unregister_chrdev_region(nvme_ctrl_base_chr_devt, NVME_MINORS);
4934 destroy_delete_wq:
4935 destroy_workqueue(nvme_delete_wq);
4936 destroy_reset_wq:
4937 destroy_workqueue(nvme_reset_wq);
4938 destroy_wq:
4939 destroy_workqueue(nvme_wq);
4940 out:
4941 return result;
4942 }
4943
4944 static void __exit nvme_core_exit(void)
4945 {
> 4946 nvme_keyring_exit();
4947 class_destroy(nvme_ns_chr_class);
4948 class_destroy(nvme_subsys_class);
4949 class_destroy(nvme_class);
4950 unregister_chrdev_region(nvme_ns_chr_devt, NVME_MINORS);
4951 unregister_chrdev_region(nvme_ctrl_base_chr_devt, NVME_MINORS);
4952 destroy_workqueue(nvme_delete_wq);
4953 destroy_workqueue(nvme_reset_wq);
4954 destroy_workqueue(nvme_wq);
4955 ida_destroy(&nvme_ns_chr_minor_ida);
4956 ida_destroy(&nvme_instance_ida);
4957 }
4958

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx