| /linux/kernel/livepatch/ |
| H A D | core.c | 106 static struct klp_object *klp_find_object(struct klp_patch *patch, in klp_find_object() 359 static int __klp_disable_patch(struct klp_patch *patch); 364 struct klp_patch *patch; in enabled_store() 372 patch = container_of(kobj, struct klp_patch, kobj); in enabled_store() 407 struct klp_patch *patch; in enabled_show() 409 patch = container_of(kobj, struct klp_patch, kobj); in enabled_show() 416 struct klp_patch *patch; in transition_show() 418 patch = container_of(kobj, struct klp_patch, kobj); in transition_show() 425 struct klp_patch *patch; in force_store() 438 patch = container_of(kobj, struct klp_patch, kobj); in force_store() [all …]
|
| H A D | state.c | 31 struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id) in klp_get_state() 66 struct klp_patch *patch; in klp_get_prev_state() 87 static bool klp_is_state_compatible(struct klp_patch *patch, in klp_is_state_compatible() 106 bool klp_is_patch_compatible(struct klp_patch *patch) in klp_is_patch_compatible() 108 struct klp_patch *old_patch; in klp_is_patch_compatible()
|
| H A D | core.h | 16 void klp_free_patch_async(struct klp_patch *patch); 17 void klp_free_replaced_patches_async(struct klp_patch *new_patch); 18 void klp_unpatch_replaced_patches(struct klp_patch *new_patch); 19 void klp_discard_nops(struct klp_patch *new_patch);
|
| H A D | transition.h | 7 extern struct klp_patch *klp_transition_patch; 9 void klp_init_transition(struct klp_patch *patch, int state);
|
| H A D | patch.h | 32 void klp_unpatch_objects(struct klp_patch *patch); 33 void klp_unpatch_objects_dynamic(struct klp_patch *patch);
|
| H A D | patch.c | 272 static void __klp_unpatch_objects(struct klp_patch *patch, bool nops_only) in __klp_unpatch_objects() 281 void klp_unpatch_objects(struct klp_patch *patch) in klp_unpatch_objects() 286 void klp_unpatch_objects_dynamic(struct klp_patch *patch) in klp_unpatch_objects_dynamic()
|
| H A D | transition.c | 24 struct klp_patch *klp_transition_patch; 434 struct klp_patch *patch; in klp_send_signals() 552 void klp_init_transition(struct klp_patch *patch, int state) in klp_start_transition() 708 struct klp_patch *patch; in klp_copy_process()
|
| H A D | state.h | 7 bool klp_is_patch_compatible(struct klp_patch *patch);
|
| /linux/include/linux/ |
| H A D | livepatch.h | 135 struct klp_patch { struct 172 int klp_enable_patch(struct klp_patch *); argument 210 struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id);
|
| /linux/tools/testing/selftests/livepatch/test_modules/ |
| H A D | test_klp_state.c | 32 static struct klp_patch patch; 141 static struct klp_patch patch = {
|
| H A D | test_klp_state2.c | 32 static struct klp_patch patch; 170 static struct klp_patch patch = {
|
| H A D | test_klp_livepatch.c | 32 static struct klp_patch patch = {
|
| H A D | test_klp_atomic_replace.c | 36 static struct klp_patch patch = {
|
| H A D | test_klp_callbacks_demo2.c | 72 static struct klp_patch patch = {
|
| H A D | test_klp_syscall.c | 76 static struct klp_patch patch = {
|
| H A D | test_klp_callbacks_demo.c | 102 static struct klp_patch patch = {
|
| /linux/samples/livepatch/ |
| H A D | livepatch-sample.c | 53 static struct klp_patch patch = {
|
| H A D | livepatch-shadow-fix2.c | 113 static struct klp_patch patch = {
|
| H A D | livepatch-callbacks-demo.c | 179 static struct klp_patch patch = {
|
| H A D | livepatch-shadow-fix1.c | 153 static struct klp_patch patch = {
|
| /linux/Documentation/livepatch/ |
| H A D | api.rst | 30 :identifiers: klp_patch klp_object klp_func klp_callbacks klp_state
|
| H A D | cumulative-patches.rst | 20 The atomic replace can be enabled by setting "replace" flag in struct klp_patch, 23 static struct klp_patch patch = {
|
| H A D | livepatch.rst | 275 - struct klp_patch defines an array of patched objects (struct 305 First, only the module has an easy access to the related struct klp_patch.
|
| /linux/scripts/livepatch/ |
| H A D | init.c | 12 static struct klp_patch *patch;
|