linux-next: build failure after merge of the kvm-arm tree

From: Stephen Rothwell
Date: Thu Mar 06 2025 - 00:46:30 EST


Hi all,

After merging the kvm-arm tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

drivers/firmware/smccc/kvm_guest.c:58:14: warning: no previous prototype for 'kvm_arm_target_impl_cpu_init' [-Wmissing-prototypes]
58 | void __init kvm_arm_target_impl_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/smccc/kvm_guest.c: In function 'kvm_arm_target_impl_cpu_init':
drivers/firmware/smccc/kvm_guest.c:89:39: error: invalid application of 'sizeof' to incomplete type 'struct target_impl_cpu'
89 | target = memblock_alloc(sizeof(*target) * max_cpus, __alignof__(*target));
| ^
drivers/firmware/smccc/kvm_guest.c:89:62: error: invalid application of '__alignof__' to incomplete type 'struct target_impl_cpu'
89 | target = memblock_alloc(sizeof(*target) * max_cpus, __alignof__(*target));
| ^~~~~~~~~~~
drivers/firmware/smccc/kvm_guest.c:102:23: error: invalid use of undefined type 'struct target_impl_cpu'
102 | target[i].midr = res.a1;
| ^
drivers/firmware/smccc/kvm_guest.c:102:26: error: invalid use of undefined type 'struct target_impl_cpu'
102 | target[i].midr = res.a1;
| ^
drivers/firmware/smccc/kvm_guest.c:103:23: error: invalid use of undefined type 'struct target_impl_cpu'
103 | target[i].revidr = res.a2;
| ^
drivers/firmware/smccc/kvm_guest.c:103:26: error: invalid use of undefined type 'struct target_impl_cpu'
103 | target[i].revidr = res.a2;
| ^
drivers/firmware/smccc/kvm_guest.c:104:23: error: invalid use of undefined type 'struct target_impl_cpu'
104 | target[i].aidr = res.a3;
| ^
drivers/firmware/smccc/kvm_guest.c:104:26: error: invalid use of undefined type 'struct target_impl_cpu'
104 | target[i].aidr = res.a3;
| ^
drivers/firmware/smccc/kvm_guest.c:107:14: error: implicit declaration of function 'cpu_errata_set_target_impl' [-Wimplicit-function-declaration]
107 | if (!cpu_errata_set_target_impl(max_cpus, target)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/smccc/kvm_guest.c:116:37: error: invalid application of 'sizeof' to incomplete type 'struct target_impl_cpu'
116 | memblock_free(target, sizeof(*target) * max_cpus);
| ^

Caused by commit

86edf6bdcf05 ("smccc/kvm_guest: Enable errata based on implementation CPUs")

I have used the kvm-arm tree from next-20250305 for today.



--
Cheers,
Stephen Rothwell

Attachment: pgp85gnQwFpsT.pgp
Description: OpenPGP digital signature