On 07/24/2018 04:39 AM, Lennert Buytenhek wrote:
> 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"
>  

Hi Lennert,

Thanks for the report and suggested fix.  Do you want to post up
pull-request up our github project page for this?  (If so, feel free to
add 'elfutils' to the Ubuntu README.md dependency list as well.)

Regards,

-- Joe

_______________________________________________
kpatch mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/kpatch

Reply via email to