SUSE / libpulp

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

Look for libpulp symbols in remote process #51

Closed giulianobelinassi closed 3 years ago

giulianobelinassi commented 3 years ago

Previously, libpulp find symbols address by reading the ELF file of target process/library and used the offset of the symbol there to compute its address. Now, look at the remote process of these symbols. This has the advantage of not having to rely on the process binary in disk, that could be modified in the meanwhile of loading the process and applying the patch.

However, this comes with a cost: ptracing the remote process seems to be slower than reading the in disk information. We reduced this overhead avoiding looking into libraries which name does not contain "libpulp". However, there are still margin for optimizations here.

Signed-off-by: Giuliano Belinassi gbelinassi@suse.de

susematz commented 3 years ago

On the outset this looks good. But it seems some tests fail, so please investigate.