| /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() 85 static struct klp_func *klp_find_func(struct klp_object *obj, in klp_find_func() 106 static struct klp_object *klp_find_object(struct klp_patch *patch, in klp_find_object() 107 struct klp_object *old_obj) in klp_find_object() 109 struct klp_object *obj; in klp_find_object() 499 struct klp_object *obj; in patched_show() 501 obj = container_of(kobj, struct klp_object, kobj); in patched_show() 510 ATTRIBUTE_GROUPS(klp_object); 512 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.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 | patch.h | 30 int klp_patch_object(struct klp_object *obj); 31 void klp_unpatch_object(struct klp_object *obj);
|
| H A D | transition.c | 83 struct klp_object *obj; in klp_synchronize_transition() 257 struct klp_object *obj; in klp_check_stack_func() 556 struct klp_object *obj; in klp_start_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 | 146 static 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).
|
| /linux/scripts/livepatch/ |
| H A D | init.c | 18 struct klp_object *objs; in livepatch_mod_init() 37 objs = kzalloc(sizeof(struct klp_object) * (nr_objs + 1), GFP_KERNEL); in livepatch_mod_init() 48 struct klp_object *obj = objs + i; in livepatch_mod_init() 93 struct klp_object *obj; in livepatch_mod_exit()
|
| /linux/include/linux/ |
| H A D | livepatch.h | 94 struct klp_object { struct 138 struct klp_object *objs;
|