Commit 3deefe81 authored by Zheng Yejian's avatar Zheng Yejian
Browse files

livepatch: Organize active functions with struct 'list_head'

hulk inclusion
category: cleanup
bugzilla: https://gitee.com/openeuler/kernel/issues/I9R2TB



--------------------------------

Struct 'klp_func_list' is used to organize active functions with
unidirectional linked list, it is too complicated.

Here rename it as 'actv_func', and organize with 'list_head' to
make it clear.

Signed-off-by: default avatarZheng Yejian <zhengyejian1@huawei.com>
parent 96a1e4dd
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ static bool check_jump_insn(unsigned long func_addr)
}

int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				   klp_add_func_t add_func, struct klp_func_list **func_list)
				   klp_add_func_t add_func, struct list_head *func_list)
{
	int ret;
	struct klp_object *obj;
@@ -92,7 +92,6 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
	struct klp_func *func;
	unsigned long func_addr = 0;
	unsigned long func_size;
	struct klp_func_list *pcheck = NULL;

	for (obj = patch->objs; obj->funcs; obj++) {
		for (func = obj->funcs; func->old_name; func++) {
@@ -141,8 +140,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				    IS_ENABLED(CONFIG_LIVEPATCH_BREAKPOINT_NO_STOP_MACHINE) ||
				    (func->force == KLP_NORMAL_FORCE) ||
				    check_jump_insn(func_addr)) {
					ret = add_func(func_list, &pcheck,
							func_addr, func_size,
					ret = add_func(func_list, func_addr, func_size,
							func->old_name, func->force);
					if (ret)
						return ret;
@@ -183,8 +181,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
					func_addr = (unsigned long)prev->new_func;
					func_size = prev->new_size;
				}
				ret = add_func(func_list, &pcheck,
						func_addr, func_size,
				ret = add_func(func_list, func_addr, func_size,
						func->old_name, 0);
				if (ret)
					return ret;
@@ -197,8 +194,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
#endif
				func_addr = (unsigned long)func->new_func;
				func_size = func->new_size;
				ret = add_func(func_list, &pcheck,
						func_addr, func_size,
				ret = add_func(func_list, func_addr, func_size,
						func->old_name, 0);
				if (ret)
					return ret;
+4 −8
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ static bool check_jump_insn(unsigned long func_addr)
}

int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				   klp_add_func_t add_func, struct klp_func_list **func_list)
				   klp_add_func_t add_func, struct list_head *func_list)
{
	int ret;
	struct klp_object *obj;
@@ -85,7 +85,6 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
	unsigned long func_addr = 0;
	unsigned long func_size;
	struct klp_func_node *func_node;
	struct klp_func_list *pcheck = NULL;

	for (obj = patch->objs; obj->funcs; obj++) {
		for (func = obj->funcs; func->old_name; func++) {
@@ -130,8 +129,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				    IS_ENABLED(CONFIG_LIVEPATCH_BREAKPOINT_NO_STOP_MACHINE) ||
				    (func->force == KLP_NORMAL_FORCE) ||
				    check_jump_insn(func_addr)) {
					ret = add_func(func_list, &pcheck,
							func_addr, func_size,
					ret = add_func(func_list, func_addr, func_size,
							func->old_name, func->force);
					if (ret)
						return ret;
@@ -173,8 +171,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
					func_addr = (unsigned long)prev->new_func;
					func_size = prev->new_size;
				}
				ret = add_func(func_list, &pcheck,
						func_addr, func_size,
				ret = add_func(func_list, func_addr, func_size,
						func->old_name, 0);
				if (ret)
					return ret;
@@ -188,8 +185,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,

				func_addr = (unsigned long)func->new_func;
				func_size = func->new_size;
				ret = add_func(func_list, &pcheck,
						func_addr, func_size,
				ret = add_func(func_list, func_addr, func_size,
						func->old_name, 0);
				if (ret)
					return ret;
+4 −6
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ static bool check_jump_insn(unsigned long func_addr)
}

int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				   klp_add_func_t add_func, struct klp_func_list **func_list)
				   klp_add_func_t add_func, struct list_head *func_list)
{
	int ret;
	struct klp_object *obj;
@@ -82,7 +82,6 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
	unsigned long func_addr = 0;
	unsigned long func_size;
	struct klp_func_node *func_node;
	struct klp_func_list *pcheck = NULL;

	for (obj = patch->objs; obj->funcs; obj++) {
		for (func = obj->funcs; func->old_name; func++) {
@@ -131,8 +130,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				    IS_ENABLED(CONFIG_LIVEPATCH_BREAKPOINT_NO_STOP_MACHINE) ||
				    (func->force == KLP_NORMAL_FORCE) ||
				    check_jump_insn(func_addr)) {
					ret = add_func(func_list, &pcheck,
							func_addr, func_size,
					ret = add_func(func_list, func_addr, func_size,
							func->old_name, func->force);
					if (ret)
						return ret;
@@ -173,7 +171,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
					func_addr = (unsigned long)prev->new_func;
					func_size = prev->new_size;
				}
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, func->old_name, 0);
				if (ret)
					return ret;
@@ -186,7 +184,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
#endif
				func_addr = (unsigned long)func->new_func;
				func_size = func->new_size;
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, func->old_name, 0);
				if (ret)
					return ret;
+5 −7
Original line number Diff line number Diff line
@@ -79,14 +79,13 @@ static bool check_jump_insn(unsigned long func_addr)
}

int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				   klp_add_func_t add_func, struct klp_func_list **func_list)
				   klp_add_func_t add_func, struct list_head *func_list)
{
	int ret;
	struct klp_object *obj;
	struct klp_func *func;
	unsigned long func_addr, func_size;
	struct klp_func_node *func_node = NULL;
	struct klp_func_list *pcheck = NULL;

	for (obj = patch->objs; obj->funcs; obj++) {
		for (func = obj->funcs; func->old_name; func++) {
@@ -134,8 +133,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				    IS_ENABLED(CONFIG_LIVEPATCH_BREAKPOINT_NO_STOP_MACHINE) ||
				    (func->force == KLP_NORMAL_FORCE) ||
				    check_jump_insn(func_addr)) {
					ret = add_func(func_list, &pcheck,
							func_addr, func_size,
					ret = add_func(func_list, func_addr, func_size,
							func->old_name, func->force);
					if (ret)
						return ret;
@@ -148,7 +146,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				func_addr = ppc_function_entry(
						(void *)func->new_func);
				func_size = func->new_size;
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, func->old_name, 0);
				if (ret)
					return ret;
@@ -174,7 +172,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				 */
				func_addr = (unsigned long)func->old_func;
				func_size = func->old_size;
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, "OLD_FUNC", 0);
				if (ret)
					return ret;
@@ -186,7 +184,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,

				func_addr = (unsigned long)&func_node->arch_data.trampoline;
				func_size = sizeof(struct ppc64_klp_btramp_entry);
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, "trampoline", 0);
				if (ret)
					return ret;
+4 −6
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ static bool check_jump_insn(unsigned long func_addr)
}

int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				   klp_add_func_t add_func, struct klp_func_list **func_list)
				   klp_add_func_t add_func, struct list_head *func_list)
{
	int ret;
	struct klp_object *obj;
@@ -81,7 +81,6 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
	unsigned long func_addr = 0;
	unsigned long func_size;
	struct klp_func_node *func_node = NULL;
	struct klp_func_list *pcheck = NULL;

	for (obj = patch->objs; obj->funcs; obj++) {
		for (func = obj->funcs; func->old_name; func++) {
@@ -127,8 +126,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
				    IS_ENABLED(CONFIG_LIVEPATCH_BREAKPOINT_NO_STOP_MACHINE) ||
				    (func->force == KLP_NORMAL_FORCE) ||
				    check_jump_insn(func_addr)) {
					ret = add_func(func_list, &pcheck,
							func_addr, func_size,
					ret = add_func(func_list, func_addr, func_size,
							func->old_name, func->force);
					if (ret)
						return ret;
@@ -167,7 +165,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,
					func_addr = (unsigned long)prev->new_func;
					func_size = prev->new_size;
				}
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, func->old_name, 0);
				if (ret)
					return ret;
@@ -181,7 +179,7 @@ int arch_klp_check_activeness_func(struct klp_patch *patch, int enable,

				func_addr = (unsigned long)func->new_func;
				func_size = func->new_size;
				ret = add_func(func_list, &pcheck, func_addr,
				ret = add_func(func_list, func_addr,
						func_size, func->old_name, 0);
				if (ret)
					return ret;
Loading