SUSE / libpulp

libpulp enables live patching in user space applications.
GNU Lesser General Public License v2.1
55 stars 11 forks source link

Add support for unexported variables access in live patches #19

Closed inconstante closed 3 years ago

inconstante commented 3 years ago

Read the commit message for more information...

Apart from that, the patch adds new information to the live patch metadata, more specifically, the addresses (offsets from the load address) of data objects, and that means that there is no need to open in-disk files (DSOs) during live patch application to fix references to LOCAL objects.

We should probably copy this mechanism to the other parts of the live patch metadata, so that, in the future, nothing else depends on the target library file being both in-disk and in the exact same version that the target process used (which doesn´t work after package updates).

inconstante commented 3 years ago

Commit b45f0f3 disabled optimization in the live patch, otherwise the reference variable disappears.

inconstante commented 3 years ago

Commit d40122a changes the following:

Sorry for flooding the pull request with commits. :B

inconstante commented 3 years ago

Updated branch against current master.