arch/arm64/kvm/hyp/nvhe/setup.c:133:17: warning: no previous prototype for function '__pkvm_init_finalise'

From: kernel test robot
Date: Sat Aug 14 2021 - 14:48:37 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ba31f97d43be41ca99ab72a6131d7c226306865f
commit: f320bc742bc23c1d43567712fe2814bf04b19ebc KVM: arm64: Prepare the creation of s1 mappings at EL2
date: 5 months ago
config: arm64-randconfig-r024-20210814 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 1f7b25ea76a925aca690da28de9d78db7ca99d0c)
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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f320bc742bc23c1d43567712fe2814bf04b19ebc
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout f320bc742bc23c1d43567712fe2814bf04b19ebc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 >>):

>> arch/arm64/kvm/hyp/nvhe/setup.c:133:17: warning: no previous prototype for function '__pkvm_init_finalise' [-Wmissing-prototypes]
void __noreturn __pkvm_init_finalise(void)
^
arch/arm64/kvm/hyp/nvhe/setup.c:133:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __noreturn __pkvm_init_finalise(void)
^
static
1 warning generated.


vim +/__pkvm_init_finalise +133 arch/arm64/kvm/hyp/nvhe/setup.c

132
> 133 void __noreturn __pkvm_init_finalise(void)
134 {
135 struct kvm_host_data *host_data = this_cpu_ptr(&kvm_host_data);
136 struct kvm_cpu_context *host_ctxt = &host_data->host_ctxt;
137 unsigned long nr_pages, reserved_pages, pfn;
138 int ret;
139
140 /* Now that the vmemmap is backed, install the full-fledged allocator */
141 pfn = hyp_virt_to_pfn(hyp_pgt_base);
142 nr_pages = hyp_s1_pgtable_pages();
143 reserved_pages = hyp_early_alloc_nr_used_pages();
144 ret = hyp_pool_init(&hpool, pfn, nr_pages, reserved_pages);
145 if (ret)
146 goto out;
147
148 pkvm_pgtable_mm_ops = (struct kvm_pgtable_mm_ops) {
149 .zalloc_page = hyp_zalloc_hyp_page,
150 .phys_to_virt = hyp_phys_to_virt,
151 .virt_to_phys = hyp_virt_to_phys,
152 .get_page = hyp_get_page,
153 .put_page = hyp_put_page,
154 };
155 pkvm_pgtable.mm_ops = &pkvm_pgtable_mm_ops;
156
157 out:
158 /*
159 * We tail-called to here from handle___pkvm_init() and will not return,
160 * so make sure to propagate the return value to the host.
161 */
162 cpu_reg(host_ctxt, 1) = ret;
163
164 __host_enter(host_ctxt);
165 }
166

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

Attachment: .config.gz
Description: application/gzip