.. | .. |
---|
5 | 5 | #include <linux/livepatch.h> |
---|
6 | 6 | |
---|
7 | 7 | extern struct mutex klp_mutex; |
---|
| 8 | +extern struct list_head klp_patches; |
---|
| 9 | + |
---|
| 10 | +#define klp_for_each_patch_safe(patch, tmp_patch) \ |
---|
| 11 | + list_for_each_entry_safe(patch, tmp_patch, &klp_patches, list) |
---|
| 12 | + |
---|
| 13 | +#define klp_for_each_patch(patch) \ |
---|
| 14 | + list_for_each_entry(patch, &klp_patches, list) |
---|
| 15 | + |
---|
| 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); |
---|
8 | 20 | |
---|
9 | 21 | static inline bool klp_is_object_loaded(struct klp_object *obj) |
---|
10 | 22 | { |
---|