SUSE / libpulp

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

Missing functions in live patch cause namespace pollution #24

Closed inconstante closed 3 years ago

inconstante commented 3 years ago

As demonstrate by the missing_functions.py test case, names of functions in the metadata file must match the names of functions in the live patch DSO, otherwise, Libpulp fails with an error and pollutes the namespace of the target process. For more information, see commit ID bbd166d04403.

A fix to this problem could be implemented either in the trigger tool, by checking that the live patch DSO actually contains all the functions that the metadata refers to; as well as in libpulp.so, which could also check that the live patch DSO, or unload the live patch object if anything goes wrong (although unloading the object could prove difficult if some functions are missing and others present).