klp_patch
int klp_enable_patch(struct klp_patch *);
struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id);
static int __klp_disable_patch(struct klp_patch *patch)
static int __klp_enable_patch(struct klp_patch *patch)
static struct klp_object *klp_find_object(struct klp_patch *patch,
int klp_enable_patch(struct klp_patch *patch)
void klp_unpatch_replaced_patches(struct klp_patch *new_patch)
struct klp_patch *old_patch;
void klp_discard_nops(struct klp_patch *new_patch)
struct klp_patch *limit)
struct klp_patch *patch;
struct klp_patch *patch;
static int __klp_disable_patch(struct klp_patch *patch);
struct klp_patch *patch;
patch = container_of(kobj, struct klp_patch, kobj);
struct klp_patch *patch;
patch = container_of(kobj, struct klp_patch, kobj);
struct klp_patch *patch;
patch = container_of(kobj, struct klp_patch, kobj);
struct klp_patch *patch;
patch = container_of(kobj, struct klp_patch, kobj);
struct klp_patch *patch;
patch = container_of(kobj, struct klp_patch, kobj);
struct klp_patch *patch, *this_patch;
this_patch = container_of(kobj, struct klp_patch, kobj);
ATTRIBUTE_GROUPS(klp_patch);
static void klp_init_object_early(struct klp_patch *patch,
struct klp_patch *patch)
static int klp_add_object_nops(struct klp_patch *patch,
static int klp_add_nops(struct klp_patch *patch)
struct klp_patch *old_patch;
struct klp_patch *patch;
patch = container_of(kobj, struct klp_patch, kobj);
static void __klp_free_objects(struct klp_patch *patch, bool nops_only)
static void klp_free_objects(struct klp_patch *patch)
static void klp_free_objects_dynamic(struct klp_patch *patch)
static void klp_free_patch_start(struct klp_patch *patch)
static void klp_free_patch_finish(struct klp_patch *patch)
struct klp_patch *patch =
container_of(work, struct klp_patch, free_work);
void klp_free_patch_async(struct klp_patch *patch)
void klp_free_replaced_patches_async(struct klp_patch *new_patch)
struct klp_patch *old_patch, *tmp_patch;
static int klp_write_object_relocs(struct klp_patch *patch,
static int klp_apply_object_relocs(struct klp_patch *patch,
static void klp_clear_object_relocs(struct klp_patch *patch,
static int klp_init_object_loaded(struct klp_patch *patch,
static int klp_init_object(struct klp_patch *patch, struct klp_object *obj)
static void klp_init_object_early(struct klp_patch *patch,
static void klp_init_patch_early(struct klp_patch *patch)
static int klp_init_patch(struct klp_patch *patch)
void klp_free_patch_async(struct klp_patch *patch);
void klp_free_replaced_patches_async(struct klp_patch *new_patch);
void klp_unpatch_replaced_patches(struct klp_patch *new_patch);
void klp_discard_nops(struct klp_patch *new_patch);
static void __klp_unpatch_objects(struct klp_patch *patch, bool nops_only)
void klp_unpatch_objects(struct klp_patch *patch)
void klp_unpatch_objects_dynamic(struct klp_patch *patch)
void klp_unpatch_objects(struct klp_patch *patch);
void klp_unpatch_objects_dynamic(struct klp_patch *patch);
bool klp_is_patch_compatible(struct klp_patch *patch)
struct klp_patch *old_patch;
struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id)
struct klp_patch *patch;
static bool klp_is_state_compatible(struct klp_patch *patch,
bool klp_is_patch_compatible(struct klp_patch *patch);
struct klp_patch *klp_transition_patch;
struct klp_patch *patch;
void klp_init_transition(struct klp_patch *patch, int state)
struct klp_patch *patch;
extern struct klp_patch *klp_transition_patch;
void klp_init_transition(struct klp_patch *patch, int state);
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch *patch;
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch patch = {
static struct klp_patch patch;
static struct klp_patch patch = {
static struct klp_patch patch;
static struct klp_patch patch = {