Unverified Commit 70e70910 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3879 [sync] PR-3466: livepatch/core: Disable support for replacing

parents eae7ddb4 478efe08
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1156,6 +1156,9 @@ static void klp_init_func_early(struct klp_object *obj,
	kobject_init(&func->kobj, &klp_ktype_func);
	list_add_tail(&func->node, &obj->func_list);
	func->func_node = NULL;
#ifdef CONFIG_LIVEPATCH_STOP_MACHINE_CONSISTENCY
	func->nop = false;
#endif
}

static void klp_init_object_early(struct klp_patch *patch,
@@ -1166,6 +1169,7 @@ static void klp_init_object_early(struct klp_patch *patch,
	list_add_tail(&obj->node, &patch->obj_list);
#ifdef CONFIG_LIVEPATCH_STOP_MACHINE_CONSISTENCY
	obj->mod = NULL;
	obj->dynamic = false;
#endif
}

@@ -1245,6 +1249,12 @@ static int klp_init_patch(struct klp_patch *patch)
	if (ret)
		return ret;

#ifdef CONFIG_LIVEPATCH_STOP_MACHINE_CONSISTENCY
	if (patch->replace) {
		pr_err("Replacing is not supported\n");
		return -EINVAL;
	}
#endif
	if (patch->replace) {
		ret = klp_add_nops(patch);
		if (ret)
+2 −0
Original line number Diff line number Diff line
@@ -315,7 +315,9 @@ int klp_patch_object(struct klp_object *obj, bool rollback)
	if (obj->patched)
		return 0;

	WARN_ON(obj->dynamic);
	klp_for_each_func(obj, func) {
		WARN_ON(func->nop);
		ret = klp_patch_func(func);
		if (ret && klp_need_rollback(ret, rollback)) {
			klp_unpatch_object(obj);