Re: [PATCH v2 2/9] KVM: arm64: Add a buffer that can pass UBSan data from hyp/nVHE to kernel

From: kernel test robot
Date: Fri Jan 15 2021 - 04:56:32 EST


Hi Elena,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on arm64/for-next/core]
[cannot apply to kvmarm/next soc/for-next arm/for-next xlnx/master v5.11-rc3 next-20210115]
[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/Elena-Petrova/UBSan-Enablement-for-hyp-nVHE-code/20210115-112509
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
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
# https://github.com/0day-ci/linux/commit/aba3219bbab3bb5c7f037fe7b6c6c783942bc954
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Elena-Petrova/UBSan-Enablement-for-hyp-nVHE-code/20210115-112509
git checkout aba3219bbab3bb5c7f037fe7b6c6c783942bc954
# 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 <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

In file included from arch/arm64/kvm/kvm_ubsan_buffer.c:12:
>> include/kvm/arm_pmu.h:52:15: warning: 'struct kvm_device_attr' declared inside parameter list will not be visible outside of this definition or declaration
52 | struct kvm_device_attr *attr);
| ^~~~~~~~~~~~~~~
include/kvm/arm_pmu.h:54:15: warning: 'struct kvm_device_attr' declared inside parameter list will not be visible outside of this definition or declaration
54 | struct kvm_device_attr *attr);
| ^~~~~~~~~~~~~~~
include/kvm/arm_pmu.h:56:15: warning: 'struct kvm_device_attr' declared inside parameter list will not be visible outside of this definition or declaration
56 | struct kvm_device_attr *attr);
| ^~~~~~~~~~~~~~~
>> arch/arm64/kvm/kvm_ubsan_buffer.c:21:6: warning: no previous prototype for 'iterate_kvm_ubsan_buffer' [-Wmissing-prototypes]
21 | void iterate_kvm_ubsan_buffer(unsigned long left, unsigned long right)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/kvm_ubsan_buffer.c:33:6: warning: no previous prototype for '__kvm_check_ubsan_buffer' [-Wmissing-prototypes]
33 | void __kvm_check_ubsan_buffer(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~


vim +52 include/kvm/arm_pmu.h

ab9468340d2bcc2a Shannon Zhao 2015-06-18 31
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 32 #define kvm_arm_pmu_irq_initialized(v) ((v)->arch.pmu.irq_num >= VGIC_NR_SGIS)
051ff581ce70e822 Shannon Zhao 2015-12-08 33 u64 kvm_pmu_get_counter_value(struct kvm_vcpu *vcpu, u64 select_idx);
051ff581ce70e822 Shannon Zhao 2015-12-08 34 void kvm_pmu_set_counter_value(struct kvm_vcpu *vcpu, u64 select_idx, u64 val);
96b0eebcc6a14e3b Shannon Zhao 2015-09-08 35 u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu);
88865beca90621ae Marc Zyngier 2020-03-12 36 u64 kvm_pmu_get_pmceid(struct kvm_vcpu *vcpu, bool pmceid1);
bca031e2c8aa22a9 Zenghui Yu 2019-07-18 37 void kvm_pmu_vcpu_init(struct kvm_vcpu *vcpu);
2aa36e9840d71710 Shannon Zhao 2015-09-11 38 void kvm_pmu_vcpu_reset(struct kvm_vcpu *vcpu);
5f0a714a2b63c25f Shannon Zhao 2015-09-11 39 void kvm_pmu_vcpu_destroy(struct kvm_vcpu *vcpu);
418e5ca88cc18b7e Andrew Murray 2019-06-17 40 void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val);
418e5ca88cc18b7e Andrew Murray 2019-06-17 41 void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val);
b02386eb7dac7555 Shannon Zhao 2016-02-26 42 void kvm_pmu_flush_hwstate(struct kvm_vcpu *vcpu);
b02386eb7dac7555 Shannon Zhao 2016-02-26 43 void kvm_pmu_sync_hwstate(struct kvm_vcpu *vcpu);
3dbbdf78636e6609 Christoffer Dall 2017-02-01 44 bool kvm_pmu_should_notify_user(struct kvm_vcpu *vcpu);
3dbbdf78636e6609 Christoffer Dall 2017-02-01 45 void kvm_pmu_update_run(struct kvm_vcpu *vcpu);
7a0adc7064b88609 Shannon Zhao 2015-09-08 46 void kvm_pmu_software_increment(struct kvm_vcpu *vcpu, u64 val);
76993739cd6f5b42 Shannon Zhao 2015-10-28 47 void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val);
7f7663587165fe1a Shannon Zhao 2015-07-03 48 void kvm_pmu_set_counter_event_type(struct kvm_vcpu *vcpu, u64 data,
7f7663587165fe1a Shannon Zhao 2015-07-03 49 u64 select_idx);
808e738142e7086e Shannon Zhao 2016-01-11 50 bool kvm_arm_support_pmu_v3(void);
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 51 int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu,
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 @52 struct kvm_device_attr *attr);
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 53 int kvm_arm_pmu_v3_get_attr(struct kvm_vcpu *vcpu,
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 54 struct kvm_device_attr *attr);
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 55 int kvm_arm_pmu_v3_has_attr(struct kvm_vcpu *vcpu,
bb0c70bcca6ba3c8 Shannon Zhao 2016-01-11 56 struct kvm_device_attr *attr);
a2befacf50940017 Christoffer Dall 2017-05-02 57 int kvm_arm_pmu_v3_enable(struct kvm_vcpu *vcpu);
04fe472615d0216e Shannon Zhao 2015-09-11 58 #else
04fe472615d0216e Shannon Zhao 2015-09-11 59 struct kvm_pmu {
04fe472615d0216e Shannon Zhao 2015-09-11 60 };
ab9468340d2bcc2a Shannon Zhao 2015-06-18 61

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

Attachment: .config.gz
Description: application/gzip