Re: [PATCH v3 5/5] KVM: arm64: Unwind and dump nVHE hypervisor stacktrace

From: kernel test robot
Date: Mon Jun 13 2022 - 02:51:21 EST


Hi Kalesh,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on f2906aa863381afb0015a9eb7fefad885d4e5a56]

url: https://github.com/intel-lab-lkp/linux/commits/Kalesh-Singh/KVM-nVHE-Hypervisor-stack-unwinder/20220608-011351
base: f2906aa863381afb0015a9eb7fefad885d4e5a56
config: arm64-randconfig-c024-20220612 (https://download.01.org/0day-ci/archive/20220613/202206131423.8tjrMBgk-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 11.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
# https://github.com/intel-lab-lkp/linux/commit/ac1ce397ffe5b05df06cdb56a30db4099c7428ec
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Kalesh-Singh/KVM-nVHE-Hypervisor-stack-unwinder/20220608-011351
git checkout ac1ce397ffe5b05df06cdb56a30db4099c7428ec
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

aarch64-linux-ld: arch/arm64/kernel/stacktrace.o: in function `hyp_dump_backtrace':
>> arch/arm64/kernel/stacktrace.c:254: undefined reference to `kvm_arm_hyp_stacktrace_page'
aarch64-linux-ld: arch/arm64/kernel/stacktrace.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `kvm_arm_hyp_stacktrace_page' which may bind externally can not be used when making a shared object; recompile with -fPIC
arch/arm64/kernel/stacktrace.c:254:(.text+0x634): dangerous relocation: unsupported relocation
>> aarch64-linux-ld: arch/arm64/kernel/stacktrace.c:254: undefined reference to `kvm_arm_hyp_stacktrace_page'
pahole: .tmp_vmlinux.btf: No such file or directory
.btf.vmlinux.bin.o: file not recognized: file format not recognized


vim +254 arch/arm64/kernel/stacktrace.c

246
247 /**
248 * Symbolizes and dumps the hypervisor backtrace from the shared
249 * stacktrace page.
250 */
251 noinline notrace void hyp_dump_backtrace(unsigned long hyp_offset)
252 {
253 unsigned long *stacktrace_pos =
> 254 (unsigned long *)*this_cpu_ptr(&kvm_arm_hyp_stacktrace_page);
255 unsigned long va_mask = GENMASK_ULL(vabits_actual - 1, 0);
256 unsigned long pc = *stacktrace_pos++;
257
258 kvm_err("nVHE HYP call trace:\n");
259
260 while (pc) {
261 pc &= va_mask; /* Mask tags */
262 pc += hyp_offset; /* Convert to kern addr */
263 kvm_err("[<%016lx>] %pB\n", pc, (void *)pc);
264 pc = *stacktrace_pos++;
265 }
266
267 kvm_err("---- end of nVHE HYP call trace ----\n");
268 }
269 #else /* __KVM_NVHE_HYPERVISOR__ */
270 DEFINE_PER_CPU(unsigned long [PAGE_SIZE/sizeof(long)], overflow_stack)
271 __aligned(16);
272

--
0-DAY CI Kernel Test Service
https://01.org/lkp