Re: [PATCH v5 0/3] livepatch: introduce atomic replace

From: Jason Baron
Date: Tue Jan 30 2018 - 17:11:48 EST




On 01/30/2018 02:24 PM, Joe Lawrence wrote:
> On 01/30/2018 01:19 PM, Jason Baron wrote:
>> [ ... snip ... ]
>>
>> Our main interest in 'atomic replace' is simply to make sure that
>> cumulative patches work as expected in that they 'replace' any prior
>> patches. We have an interest primarily in being able to apply patches
>> from the stable trees via livepatch. I think the current situation with
>> respect to 'replace' and callbacks is fine for us as well, but could
>> change based on more experience with livepatch.
>
> Well the callback implementation was based somewhat on theoretical
> usage.. it was inspired by the kpatch macros that you talk about below,
> in which we had a few specific use-cases. Converting (un)patch
> notifiers to the livepatch model presented additional callback
> locations, and as such we ended up with pre-patch, post-patch,
> pre-unpatch and post-unpatch callbacks. Hopefully we'll get a better
> idea of their worth as we gain experience using them. At this point in
> time I would suggest keeping it as simple and safe as possible. :)
>
>> As an aside I was just wondering how you are making use of the callbacks
>> using the tool you mentioned (that is based on kpatch)? I see in the
>> upstream kpatch that there are hooks such as: 'KPATCH_LOAD_HOOK(fn)' and
>> 'KPATCH_UNLOAD_HOOK(fn)'. However, these are specific to 'kpatch' (as
>> opposed to livepatch), and I do not see these sort of macros for the
>> recently introduced livepatch callbacks. It seems it would be easy
>> enough to add similar hooks for the livepatch callbacks. I was thinking
>> of writing such a patch, but was wondering if there was an existing
>> solution?
>
> I've got a work in progress PR for this very feature:
> https://github.com/dynup/kpatch/pull/780
>
> Evgenii has already provided some helpful feedback. Another set of
> eyes/testing would be appreciated!

Cool - this would be a nice feature to add. I've added some comments at
the above link.

Thanks,

-Jason