Home
last modified time | relevance | path

Searched refs:patch (Results 1 – 10 of 10) sorted by relevance

/kernel/livepatch/
Dcore.c91 static bool klp_is_patch_registered(struct klp_patch *patch) in klp_is_patch_registered() argument
96 if (mypatch == patch) in klp_is_patch_registered()
287 static int __klp_disable_patch(struct klp_patch *patch) in __klp_disable_patch() argument
293 if (!list_is_last(&patch->list, &klp_patches) && in __klp_disable_patch()
294 list_next_entry(patch, list)->enabled) in __klp_disable_patch()
297 klp_init_transition(patch, KLP_UNPATCHED); in __klp_disable_patch()
310 patch->enabled = false; in __klp_disable_patch()
323 int klp_disable_patch(struct klp_patch *patch) in klp_disable_patch() argument
329 if (!klp_is_patch_registered(patch)) { in klp_disable_patch()
334 if (!patch->enabled) { in klp_disable_patch()
[all …]
DKconfig16 This option has no runtime impact until a kernel "patch"
18 a patch, causing calls to patched functions to be redirected
19 to new function code contained in the patch module.
Dtransition.c467 void klp_init_transition(struct klp_patch *patch, int state) in klp_init_transition() argument
477 klp_transition_patch = patch; in klp_init_transition()
489 if (patch->immediate) in klp_init_transition()
534 klp_for_each_object(patch, obj) in klp_init_transition()
Dpatch.c269 void klp_unpatch_objects(struct klp_patch *patch) in klp_unpatch_objects() argument
273 klp_for_each_object(patch, obj) in klp_unpatch_objects()
DMakefile3 livepatch-objs := core.o patch.o transition.o
Dtransition.h9 void klp_init_transition(struct klp_patch *patch, int state);
Dpatch.h32 void klp_unpatch_objects(struct klp_patch *patch);
/kernel/bpf/
Dverifier.c4577 const struct bpf_insn *patch, u32 len) in bpf_patch_insn_data() argument
4581 new_prog = bpf_patch_insn_single(env->prog, off, patch, len); in bpf_patch_insn_data()
4659 struct bpf_insn patch[] = { in convert_ctx_accesses() local
4674 cnt = ARRAY_SIZE(patch); in convert_ctx_accesses()
4675 new_prog = bpf_patch_insn_data(env, i + delta, patch, cnt); in convert_ctx_accesses()
4789 struct bpf_insn *patch = &insn_buf[0]; in fixup_bpf_calls() local
4804 *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); in fixup_bpf_calls()
4805 *patch++ = BPF_MOV32_IMM(BPF_REG_AX, aux->alu_limit - 1); in fixup_bpf_calls()
4806 *patch++ = BPF_ALU64_REG(BPF_SUB, BPF_REG_AX, off_reg); in fixup_bpf_calls()
4807 *patch++ = BPF_ALU64_REG(BPF_OR, BPF_REG_AX, off_reg); in fixup_bpf_calls()
[all …]
Dcore.c249 const struct bpf_insn *patch, u32 len) in bpf_patch_insn_single() argument
256 memcpy(prog->insnsi + off, patch, sizeof(*patch)); in bpf_patch_insn_single()
284 sizeof(*patch) * insn_rest); in bpf_patch_insn_single()
285 memcpy(prog_adj->insnsi + off, patch, sizeof(*patch) * len); in bpf_patch_insn_single()
/kernel/trace/
DKconfig500 dynamically (will patch them out of the binary image and