Hi!
I need the patch below to make kpatch-build work on Ubuntu 18.04. On
this distro, the linux-image package is built from the linux-signed
source package, which just seems to be a wrapper and does not actually
contain the kernel source code.
Also, on top of the instructions on the github page, I need to 'apt
install elfutils' for eu-readelf to be there, but with those changes,
it seems I can generate a live patch:
root@build:~/kpatch/kpatch-build# ./kpatch-build
~/kvm-fix-lapic-timer-drift-when-guest-uses-periodic-mode.patch
Using cache at /root/.kpatch/src
Testing patch file(s)
Reading special section data
Building original kernel
Building patched kernel
Extracting new and modified ELF sections
lapic.o: new function: advance_periodic_target_expiration
lapic.o: changed function: apic_timer_fn
lapic.o: changed function: kvm_lapic_expired_hv_timer
Patched objects: arch/x86/kvm/kvm.ko
Building patch module:
livepatch-kvm-fix-lapic-timer-drift-when-guest-u.ko
SUCCESS
root@build:~/kpatch/kpatch-build#
And I'm able to load it:
root@build:~/kpatch/kpatch# ./kpatch load
../kpatch-build/livepatch-kvm-fix-lapic-timer-drift-when-guest-u.ko
loading patch module:
../kpatch-build/livepatch-kvm-fix-lapic-timer-drift-when-guest-u.ko
waiting (up to 15 seconds) for patch transition to complete...
transition complete (2 seconds)
root@build:~/kpatch/kpatch#
diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
index ab70b0f..f0e089e 100755
--- a/kpatch-build/kpatch-build
+++ b/kpatch-build/kpatch-build
@@ -623,7 +623,7 @@ else
sublevel="SUBLEVEL ="
fi
- pkgname="$(dpkg-query -W -f='${Source}'
"linux-image-$ARCHVERSION")"
+ pkgname="$(dpkg-query -W -f='${Source}'
"linux-image-$ARCHVERSION" | sed s/-signed//)"
pkgver="$(dpkg-query -W -f='${Version}'
"linux-image-$ARCHVERSION")"
dscname="${pkgname}_${pkgver}.dsc"
_______________________________________________
kpatch mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/kpatch