Re: [PATCH v6 15/18] nitro_enclaves: Add Makefile for the Nitro Enclaves driver
On 05/08/2020 17:23, kernel test robot wrote: Hi Andra, Thank you for the patch! Yet something to improve: [auto build test ERROR on linux/master] [also build test ERROR on linus/master v5.8 next-20200805] [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] url: https://github.com/0day-ci/linux/commits/Andra-Paraschiv/Add-support-for-Nitro-Enclaves/20200805-171942 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 Removed, for now, the dependency on ARM64 arch. x86 is currently supported, with Arm to come afterwards. Thanks, Andra If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): drivers/virt/nitro_enclaves/ne_misc_dev.c: In function 'ne_setup_cpu_pool': drivers/virt/nitro_enclaves/ne_misc_dev.c:245:46: error: 'smp_num_siblings' undeclared (first use in this function); did you mean 'cpu_sibling'? 245 | ne_cpu_pool.avail_cores_size = nr_cpu_ids / smp_num_siblings; | ^~~~ | cpu_sibling drivers/virt/nitro_enclaves/ne_misc_dev.c:245:46: note: each undeclared identifier is reported only once for each function it appears in drivers/virt/nitro_enclaves/ne_misc_dev.c: In function 'ne_enclave_ioctl': drivers/virt/nitro_enclaves/ne_misc_dev.c:928:54: error: 'smp_num_siblings' undeclared (first use in this function) 928 | if (vcpu_id >= (ne_enclave->avail_cpu_cores_size * smp_num_siblings)) { | ^~~~ vim +245 drivers/virt/nitro_enclaves/ne_misc_dev.c 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 130 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 131 /** 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 132 * ne_setup_cpu_pool() - Set the NE CPU pool after handling sanity checks such 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 133 * as not sharing CPU cores with the primary / parent VM 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 134 * or not using CPU 0, which should remain available for 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 135 * the primary / parent VM. Offline the CPUs from the 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 136 * pool after the checks passed. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 137 * @ne_cpu_list: The CPU list used for setting NE CPU pool. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 138 * 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 139 * Context: Process context. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 140 * Return: 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 141 * * 0 on success. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 142 * * Negative return value on failure. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 143 */ 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 144 static int ne_setup_cpu_pool(const char *ne_cpu_list) 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 145 { 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 146 int core_id = -1; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 147 unsigned int cpu = 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 148 cpumask_var_t cpu_pool = NULL; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 149 unsigned int cpu_sibling = 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 150 unsigned int i = 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 151 int numa_node = -1; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 152 int rc = -EINVAL; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 153 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 154 if (!ne_cpu_list) 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 155 return 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 156 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 157 if (!zalloc_cpumask_var(_pool, GFP_KERNEL)) 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 158 return -ENOMEM; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 159 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 160 mutex_lock(_cpu_pool.mutex); 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 161 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 162 rc = cpulist_parse(ne_cpu_list, cpu_pool); 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05
Re: [PATCH v6 15/18] nitro_enclaves: Add Makefile for the Nitro Enclaves driver
Hi Andra, Thank you for the patch! Yet something to improve: [auto build test ERROR on linux/master] [also build test ERROR on linus/master v5.8 next-20200805] [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] url: https://github.com/0day-ci/linux/commits/Andra-Paraschiv/Add-support-for-Nitro-Enclaves/20200805-171942 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): drivers/virt/nitro_enclaves/ne_misc_dev.c: In function 'ne_setup_cpu_pool': >> drivers/virt/nitro_enclaves/ne_misc_dev.c:245:46: error: 'smp_num_siblings' >> undeclared (first use in this function); did you mean 'cpu_sibling'? 245 | ne_cpu_pool.avail_cores_size = nr_cpu_ids / smp_num_siblings; | ^~~~ | cpu_sibling drivers/virt/nitro_enclaves/ne_misc_dev.c:245:46: note: each undeclared identifier is reported only once for each function it appears in drivers/virt/nitro_enclaves/ne_misc_dev.c: In function 'ne_enclave_ioctl': drivers/virt/nitro_enclaves/ne_misc_dev.c:928:54: error: 'smp_num_siblings' undeclared (first use in this function) 928 | if (vcpu_id >= (ne_enclave->avail_cpu_cores_size * smp_num_siblings)) { | ^~~~ vim +245 drivers/virt/nitro_enclaves/ne_misc_dev.c 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 130 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 131 /** 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 132 * ne_setup_cpu_pool() - Set the NE CPU pool after handling sanity checks such 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 133 * as not sharing CPU cores with the primary / parent VM 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 134 * or not using CPU 0, which should remain available for 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 135 * the primary / parent VM. Offline the CPUs from the 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 136 * pool after the checks passed. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 137 * @ne_cpu_list: The CPU list used for setting NE CPU pool. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 138 * 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 139 * Context: Process context. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 140 * Return: 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 141 * * 0 on success. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 142 * * Negative return value on failure. 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 143 */ 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 144 static int ne_setup_cpu_pool(const char *ne_cpu_list) 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 145 { 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 146 int core_id = -1; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 147 unsigned int cpu = 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 148 cpumask_var_t cpu_pool = NULL; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 149 unsigned int cpu_sibling = 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 150 unsigned int i = 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 151 int numa_node = -1; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 152 int rc = -EINVAL; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 153 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 154 if (!ne_cpu_list) 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 155 return 0; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 156 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 157 if (!zalloc_cpumask_var(_pool, GFP_KERNEL)) 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 158 return -ENOMEM; 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 159 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 160 mutex_lock(_cpu_pool.mutex); 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 161 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 162 rc = cpulist_parse(ne_cpu_list, cpu_pool); 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 163 if (rc < 0) { 7d5c9a7dfa51e60 Andra Paraschiv 2020-08-05 164 pr_err("%s: Error in cpulist parse [rc=%d]\n", ne_misc_dev.name, rc);
[PATCH v6 15/18] nitro_enclaves: Add Makefile for the Nitro Enclaves driver
Signed-off-by: Andra Paraschiv Reviewed-by: Alexander Graf --- Changelog v5 -> v6 * No changes. v4 -> v5 * No changes. v3 -> v4 * No changes. v2 -> v3 * Remove the GPL additional wording as SPDX-License-Identifier is already in place. v1 -> v2 * Update path to Makefile to match the drivers/virt/nitro_enclaves directory. --- drivers/virt/Makefile| 2 ++ drivers/virt/nitro_enclaves/Makefile | 11 +++ 2 files changed, 13 insertions(+) create mode 100644 drivers/virt/nitro_enclaves/Makefile diff --git a/drivers/virt/Makefile b/drivers/virt/Makefile index fd331247c27a..f28425ce4b39 100644 --- a/drivers/virt/Makefile +++ b/drivers/virt/Makefile @@ -5,3 +5,5 @@ obj-$(CONFIG_FSL_HV_MANAGER) += fsl_hypervisor.o obj-y += vboxguest/ + +obj-$(CONFIG_NITRO_ENCLAVES) += nitro_enclaves/ diff --git a/drivers/virt/nitro_enclaves/Makefile b/drivers/virt/nitro_enclaves/Makefile new file mode 100644 index ..e9f4fcd1591e --- /dev/null +++ b/drivers/virt/nitro_enclaves/Makefile @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + +# Enclave lifetime management support for Nitro Enclaves (NE). + +obj-$(CONFIG_NITRO_ENCLAVES) += nitro_enclaves.o + +nitro_enclaves-y := ne_pci_dev.o ne_misc_dev.o + +ccflags-y += -Wall -- 2.20.1 (Apple Git-117) Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.