/linux/kernel/livepatch/ |
H A D | core.c | 49 static bool klp_is_module(struct klp_object *obj) in klp_is_module() 55 static void klp_find_object_module(struct klp_object *obj) in klp_find_object_module() 87 static struct klp_func *klp_find_func(struct klp_object *obj, in klp_find_func() 102 static struct klp_object *klp_find_object(struct klp_patch *patch, in klp_find_object() 103 struct klp_object *old_obj) in klp_find_object() 105 struct klp_object *obj; in klp_find_object() 471 struct klp_object *obj; in patched_show() 473 obj = container_of(kobj, struct klp_object, kobj); in patched_show() 482 ATTRIBUTE_GROUPS(klp_object); 484 static void klp_free_object_dynamic(struct klp_object *obj) in klp_free_object_dynamic() [all …]
|
H A D | core.h | 21 static inline bool klp_is_object_loaded(struct klp_object *obj) in klp_is_object_loaded() 26 static inline int klp_pre_patch_callback(struct klp_object *obj) in klp_pre_patch_callback() 38 static inline void klp_post_patch_callback(struct klp_object *obj) in klp_post_patch_callback() 44 static inline void klp_pre_unpatch_callback(struct klp_object *obj) in klp_pre_unpatch_callback() 50 static inline void klp_post_unpatch_callback(struct klp_object *obj) in klp_post_unpatch_callback()
|
H A D | patch.h | 30 int klp_patch_object(struct klp_object *obj); 31 void klp_unpatch_object(struct klp_object *obj);
|
H A D | patch.c | 230 static void __klp_unpatch_object(struct klp_object *obj, bool nops_only) in __klp_unpatch_object() 247 void klp_unpatch_object(struct klp_object *obj) in klp_unpatch_object() 252 int klp_patch_object(struct klp_object *obj) in klp_patch_object() 274 struct klp_object *obj; in __klp_unpatch_objects()
|
H A D | transition.c | 92 struct klp_object *obj; in klp_complete_transition() 266 struct klp_object *obj; in klp_check_stack() 577 struct klp_object *obj; in klp_init_transition()
|
/linux/tools/testing/selftests/livepatch/test_modules/ |
H A D | test_klp_callbacks_demo2.c | 21 static void callback_info(const char *callback, struct klp_object *obj) in callback_info() 31 static int pre_patch_callback(struct klp_object *obj) in pre_patch_callback() 38 static void post_patch_callback(struct klp_object *obj) in post_patch_callback() 44 static void pre_unpatch_callback(struct klp_object *obj) in pre_unpatch_callback() 50 static void post_unpatch_callback(struct klp_object *obj) in post_unpatch_callback() 59 static struct klp_object objs[] = {
|
H A D | test_klp_callbacks_demo.c | 21 static void callback_info(const char *callback, struct klp_object *obj) in callback_info() 31 static int pre_patch_callback(struct klp_object *obj) in pre_patch_callback() 38 static void post_patch_callback(struct klp_object *obj) in post_patch_callback() 44 static void pre_unpatch_callback(struct klp_object *obj) in pre_unpatch_callback() 50 static void post_unpatch_callback(struct klp_object *obj) in post_unpatch_callback() 71 static struct klp_object objs[] = {
|
H A D | test_klp_state.c | 23 static void callback_info(const char *callback, struct klp_object *obj) in callback_info() 90 static int pre_patch_callback(struct klp_object *obj) in pre_patch_callback() 97 static void post_patch_callback(struct klp_object *obj) in post_patch_callback() 104 static void pre_unpatch_callback(struct klp_object *obj) in pre_unpatch_callback() 111 static void post_unpatch_callback(struct klp_object *obj) in post_unpatch_callback() 121 static struct klp_object objs[] = {
|
H A D | test_klp_state2.c | 23 static void callback_info(const char *callback, struct klp_object *obj) in callback_info() 119 static int pre_patch_callback(struct klp_object *obj) in pre_patch_callback() 126 static void post_patch_callback(struct klp_object *obj) in post_patch_callback() 133 static void pre_unpatch_callback(struct klp_object *obj) in pre_unpatch_callback() 140 static void post_unpatch_callback(struct klp_object *obj) in post_unpatch_callback() 150 static struct klp_object objs[] = {
|
H A D | test_klp_livepatch.c | 25 static struct klp_object objs[] = {
|
H A D | test_klp_atomic_replace.c | 29 static struct klp_object objs[] = {
|
H A D | test_klp_syscall.c | 69 static struct klp_object objs[] = {
|
/linux/samples/livepatch/ |
H A D | livepatch-callbacks-demo.c | 98 static void callback_info(const char *callback, struct klp_object *obj) in callback_info() 108 static int pre_patch_callback(struct klp_object *obj) in pre_patch_callback() 115 static void post_patch_callback(struct klp_object *obj) in post_patch_callback() 121 static void pre_unpatch_callback(struct klp_object *obj) in pre_unpatch_callback() 127 static void post_unpatch_callback(struct klp_object *obj) in post_unpatch_callback() 148 static struct klp_object objs[] = {
|
H A D | livepatch-sample.c | 46 static struct klp_object objs[] = {
|
H A D | livepatch-shadow-fix2.c | 106 static struct klp_object objs[] = {
|
H A D | livepatch-shadow-fix1.c | 147 static struct klp_object objs[] = {
|
/linux/include/linux/ |
H A D | livepatch.h | 80 struct klp_object; 97 int (*pre_patch)(struct klp_object *obj); 98 void (*post_patch)(struct klp_object *obj); 99 void (*pre_unpatch)(struct klp_object *obj); 100 void (*post_unpatch)(struct klp_object *obj); 117 struct klp_object { struct 161 struct klp_object *objs;
|
/linux/Documentation/livepatch/ |
H A D | callbacks.rst | 30 Callbacks are part of the klp_object structure and their implementation 31 is specific to that klp_object. Other livepatch objects may or may not 32 be patched, irrespective of the target klp_object's current state. 40 - before a klp_object is patched 43 - after a klp_object has been patched and is active 47 - before a klp_object is unpatched (ie, patched code is 52 - after a klp_object has been patched, all code has 68 A callback is only executed if its host klp_object is loaded. For 77 to the livepatching core that patching of the current klp_object is not 91 for a given klp_object if the object failed to patch, due to a failed
|
H A D | api.rst | 30 :identifiers: klp_patch klp_object klp_func klp_callbacks klp_state
|
H A D | livepatch.rst | 265 - struct klp_object defines an array of patched functions (struct 276 klp_object).
|