Hi Jing, kernel test robot noticed the following build errors: [auto build test ERROR on 6a8f57ae2eb07ab39a6f0ccad60c760743051026] url: https://github.com/intel-lab-lkp/linux/commits/Jing-Zhang/KVM-arm64-Move-CPU-ID-feature-registers-emulation-into-a-separate-file/20230504-011759 base: 6a8f57ae2eb07ab39a6f0ccad60c760743051026 patch link: https://lore.kernel.org/r/20230503171618.2020461-4-jingzhangos%40google.com patch subject: [PATCH v8 3/6] KVM: arm64: Use per guest ID register for ID_AA64PFR0_EL1.[CSV2|CSV3] config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20230504/202305040748.hUxGyrJF-lkp@xxxxxxxxx/config) compiler: aarch64-linux-gcc (GCC) 12.1.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 # https://github.com/intel-lab-lkp/linux/commit/5c887874c5459c9690cf3eac8b68022d72789533 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Jing-Zhang/KVM-arm64-Move-CPU-ID-feature-registers-emulation-into-a-separate-file/20230504-011759 git checkout 5c887874c5459c9690cf3eac8b68022d72789533 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202305040748.hUxGyrJF-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/hardirq.h:9, from include/linux/kvm_host.h:7, from arch/arm64/kvm/id_regs.c:13: arch/arm64/kvm/id_regs.c: In function 'get_id_reg': >> arch/arm64/kvm/id_regs.c:152:25: error: 'struct kvm_arch' has no member named 'config_lock' 152 | mutex_lock(&arch->config_lock); | ^~ include/linux/mutex.h:187:44: note: in definition of macro 'mutex_lock' 187 | #define mutex_lock(lock) mutex_lock_nested(lock, 0) | ^~~~ arch/arm64/kvm/id_regs.c:154:27: error: 'struct kvm_arch' has no member named 'config_lock' 154 | mutex_unlock(&arch->config_lock); | ^~ arch/arm64/kvm/id_regs.c: In function 'set_id_aa64pfr0_el1': arch/arm64/kvm/id_regs.c:221:25: error: 'struct kvm_arch' has no member named 'config_lock' 221 | mutex_lock(&arch->config_lock); | ^~ include/linux/mutex.h:187:44: note: in definition of macro 'mutex_lock' 187 | #define mutex_lock(lock) mutex_lock_nested(lock, 0) | ^~~~ arch/arm64/kvm/id_regs.c:239:27: error: 'struct kvm_arch' has no member named 'config_lock' 239 | mutex_unlock(&arch->config_lock); | ^~ vim +152 arch/arm64/kvm/id_regs.c 139 140 /* 141 * cpufeature ID register user accessors 142 * 143 * For now, these registers are immutable for userspace, so no values 144 * are stored, and for set_id_reg() we don't allow the effective value 145 * to be changed. 146 */ 147 static int get_id_reg(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd, 148 u64 *val) 149 { 150 struct kvm_arch *arch = &vcpu->kvm->arch; 151 > 152 mutex_lock(&arch->config_lock); 153 *val = read_id_reg(vcpu, rd); 154 mutex_unlock(&arch->config_lock); 155 156 return 0; 157 } 158 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests