On arm64, the KVM generic objects are built from arch/arm64/kvm/Makefile
with KVM=../../../virt/kvm, so kpatch-build has to resolve the object
name arch/arm64/kvm/../../../virt/kvm/kvm_main.o, whose parent is
arch/arm64/kvm/kvm.o.
find_parent_obj() already has a "prevent known deep finds" shortcut for
arch/x86/kvm, which covers the same situation on x86 (see #735), but
there is no arm64 counterpart. Patching a function in
virt/kvm/kvm_main.c therefore falls through to the full-tree deep find,
which fails to resolve the parent:
doing "deep find" for parent object
ERROR: invalid ancestor arch/arm64/kvm/../../../virt/kvm/kvm_main.o for arch/arm64/kvm/../../../virt/kvm/kvm_main.o
Add the corresponding shortcut for arch/arm64/kvm.
Tested on aarch64 with a 4.19 kernel and gcc 8.2.
On arm64, the KVM generic objects are built from arch/arm64/kvm/Makefile
with KVM=../../../virt/kvm, so kpatch-build has to resolve the object
name arch/arm64/kvm/../../../virt/kvm/kvm_main.o, whose parent is
arch/arm64/kvm/kvm.o.
find_parent_obj() already has a "prevent known deep finds" shortcut for
arch/x86/kvm, which covers the same situation on x86 (see #735), but
there is no arm64 counterpart. Patching a function in
virt/kvm/kvm_main.c therefore falls through to the full-tree deep find,
which fails to resolve the parent:
doing "deep find" for parent object
ERROR: invalid ancestor arch/arm64/kvm/../../../virt/kvm/kvm_main.o for arch/arm64/kvm/../../../virt/kvm/kvm_main.o
Add the corresponding shortcut for arch/arm64/kvm.
Tested on aarch64 with a 4.19 kernel and gcc 8.2.