All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [intel-tdx:kvm 17/94] arch/x86/kvm/boot/seam/tdx_common.c:175:13: warning: no previous prototype for 'tdx_seamcall_error_name'
Date: Fri, 02 Jul 2021 15:16:19 +0800	[thread overview]
Message-ID: <202107021552.EBtwTYxq-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4597 bytes --]

tree:   https://github.com/intel/tdx.git kvm
head:   a9119ab747d6880e39258627c6b6c693b803f794
commit: df869f0b661fc05ca0c284714c01bb6172fb8173 [17/94] KVM: TDX: Print the name of SEAMCALL status code
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel/tdx/commit/df869f0b661fc05ca0c284714c01bb6172fb8173
        git remote add intel-tdx https://github.com/intel/tdx.git
        git fetch --no-tags intel-tdx kvm
        git checkout df869f0b661fc05ca0c284714c01bb6172fb8173
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   arch/x86/kvm/boot/seam/tdx_common.c:75:12: warning: no previous prototype for 'init_package_masters' [-Wmissing-prototypes]
      75 | int __init init_package_masters(void)
         |            ^~~~~~~~~~~~~~~~~~~~
>> arch/x86/kvm/boot/seam/tdx_common.c:175:13: warning: no previous prototype for 'tdx_seamcall_error_name' [-Wmissing-prototypes]
     175 | const char *tdx_seamcall_error_name(u64 error_code)
         |             ^~~~~~~~~~~~~~~~~~~~~~~


vim +/tdx_seamcall_error_name +175 arch/x86/kvm/boot/seam/tdx_common.c

    70	
    71	/*
    72	 * Setup one-cpu-per-pkg array to do package-scoped SEAMCALLs. The array is
    73	 * only necessary if there are multiple packages.
    74	 */
  > 75	int __init init_package_masters(void)
    76	{
    77		int cpu, pkg, nr_filled, nr_pkgs;
    78	
    79		nr_pkgs = topology_max_packages();
    80		if (nr_pkgs == 1)
    81			return 0;
    82	
    83		tdx_package_masters = kcalloc(nr_pkgs, sizeof(int), GFP_KERNEL);
    84		if (!tdx_package_masters)
    85			return -ENOMEM;
    86	
    87		memset(tdx_package_masters, -1, nr_pkgs * sizeof(int));
    88	
    89		nr_filled = 0;
    90		for_each_online_cpu(cpu) {
    91			pkg = topology_physical_package_id(cpu);
    92			if (tdx_package_masters[pkg] >= 0)
    93				continue;
    94	
    95			tdx_package_masters[pkg] = cpu;
    96			if (++nr_filled == topology_max_packages())
    97				break;
    98		}
    99	
   100		if (WARN_ON(nr_filled != topology_max_packages())) {
   101			kfree(tdx_package_masters);
   102			return -EIO;
   103		}
   104	
   105		if (cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "tdx/cpu:starting",
   106					      tdx_starting_cpu, tdx_dying_cpu) < 0) {
   107			kfree(tdx_package_masters);
   108			return -EIO;
   109		}
   110	
   111		return 0;
   112	}
   113	
   114	int tdx_seamcall_on_each_pkg(int (*fn)(void *), void *param)
   115	{
   116		int ret = 0;
   117		int i;
   118	
   119		cpus_read_lock();
   120		if (!tdx_package_masters) {
   121			ret = fn(param);
   122			goto out;
   123		}
   124	
   125		for (i = 0; i < topology_max_packages(); i++) {
   126			ret = smp_call_on_cpu(tdx_package_masters[i], fn, param, 1);
   127			if (ret)
   128				break;
   129		}
   130	
   131	out:
   132		cpus_read_unlock();
   133		return ret;
   134	}
   135	EXPORT_SYMBOL_GPL(tdx_seamcall_on_each_pkg);
   136	
   137	const struct tdsysinfo_struct *tdx_get_sysinfo(void)
   138	{
   139		if (boot_cpu_has(X86_FEATURE_TDX))
   140			return &tdx_tdsysinfo;
   141	
   142		return NULL;
   143	}
   144	EXPORT_SYMBOL_GPL(tdx_get_sysinfo);
   145	
   146	int tdx_keyid_alloc(void)
   147	{
   148		if (!boot_cpu_has(X86_FEATURE_TDX))
   149			return -EINVAL;
   150	
   151		if (WARN_ON_ONCE(!tdx_keyids_start || !tdx_nr_keyids))
   152			return -EINVAL;
   153	
   154		/* The first keyID is reserved for the global key. */
   155		return ida_alloc_range(&tdx_keyid_pool, tdx_keyids_start + 1,
   156				       tdx_keyids_start + tdx_nr_keyids - 1,
   157				       GFP_KERNEL);
   158	}
   159	EXPORT_SYMBOL_GPL(tdx_keyid_alloc);
   160	
   161	void tdx_keyid_free(int keyid)
   162	{
   163		if (!keyid || keyid < 0)
   164			return;
   165	
   166		ida_free(&tdx_keyid_pool, keyid);
   167	}
   168	EXPORT_SYMBOL_GPL(tdx_keyid_free);
   169	
   170	static struct tdx_seamcall_status {
   171		u64 err_code;
   172		const char *err_name;
   173	} tdx_seamcall_status_codes[] = {TDX_SEAMCALL_STATUS_CODES};
   174	
 > 175	const char *tdx_seamcall_error_name(u64 error_code)

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 65609 bytes --]

                 reply	other threads:[~2021-07-02  7:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202107021552.EBtwTYxq-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.