Home
last modified time | relevance | path

Searched refs:patch (Results 1 - 25 of 283) sorted by relevance

12345678910>>...12

/kernel/linux/linux-6.6/kernel/livepatch/
H A Dcore.c25 #include "patch.h"
71 * Note that the patch might still be needed before klp_module_going() in klp_find_object_module()
102 static struct klp_object *klp_find_object(struct klp_patch *patch, in klp_find_object() argument
107 klp_for_each_object(patch, obj) { in klp_find_object()
345 * /sys/kernel/livepatch/<patch>
346 * /sys/kernel/livepatch/<patch>/enabled
347 * /sys/kernel/livepatch/<patch>/transition
348 * /sys/kernel/livepatch/<patch>/force
349 * /sys/kernel/livepatch/<patch>/<object>
350 * /sys/kernel/livepatch/<patch>/<objec
358 struct klp_patch *patch; enabled_store() local
401 struct klp_patch *patch; enabled_show() local
410 struct klp_patch *patch; transition_show() local
420 struct klp_patch *patch; force_store() local
484 klp_alloc_object_dynamic(const char *name, struct klp_patch *patch) klp_alloc_object_dynamic() argument
541 klp_add_object_nops(struct klp_patch *patch, struct klp_object *old_obj) klp_add_object_nops() argument
573 klp_add_nops(struct klp_patch *patch) klp_add_nops() argument
593 struct klp_patch *patch; klp_kobj_release_patch() local
664 __klp_free_objects(struct klp_patch *patch, bool nops_only) __klp_free_objects() argument
679 klp_free_objects(struct klp_patch *patch) klp_free_objects() argument
684 klp_free_objects_dynamic(struct klp_patch *patch) klp_free_objects_dynamic() argument
696 klp_free_patch_start(struct klp_patch *patch) klp_free_patch_start() argument
712 klp_free_patch_finish(struct klp_patch *patch) klp_free_patch_finish() argument
735 struct klp_patch *patch = klp_free_patch_work_fn() local
741 klp_free_patch_async(struct klp_patch *patch) klp_free_patch_async() argument
787 klp_write_object_relocs(struct klp_patch *patch, struct klp_object *obj, bool apply) klp_write_object_relocs() argument
811 klp_apply_object_relocs(struct klp_patch *patch, struct klp_object *obj) klp_apply_object_relocs() argument
817 klp_clear_object_relocs(struct klp_patch *patch, struct klp_object *obj) klp_clear_object_relocs() argument
824 klp_init_object_loaded(struct klp_patch *patch, struct klp_object *obj) klp_init_object_loaded() argument
872 klp_init_object(struct klp_patch *patch, struct klp_object *obj) klp_init_object() argument
910 klp_init_object_early(struct klp_patch *patch, struct klp_object *obj) klp_init_object_early() argument
918 klp_init_patch_early(struct klp_patch *patch) klp_init_patch_early() argument
940 klp_init_patch(struct klp_patch *patch) klp_init_patch() argument
966 __klp_disable_patch(struct klp_patch *patch) __klp_disable_patch() argument
998 __klp_enable_patch(struct klp_patch *patch) __klp_enable_patch() argument
1066 klp_enable_patch(struct klp_patch *patch) klp_enable_patch() argument
1191 struct klp_patch *patch; klp_cleanup_module_patches_limited() local
1220 struct klp_patch *patch; klp_module_coming() local
[all...]
H A Dstate.c15 #define klp_for_each_state(patch, state) \
16 for (state = patch->states; state && state->id; state++)
20 * the given patch
21 * @patch: livepatch that modifies the given system state
24 * Checks whether the given patch modifies the given system state.
26 * The function can be called either from pre/post (un)patch
31 struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id) in klp_get_state() argument
35 klp_for_each_state(patch, state) { in klp_get_state()
58 * It is typically called only from pre/post (un)patch
66 struct klp_patch *patch; in klp_get_prev_state() local
87 klp_is_state_compatible(struct klp_patch *patch, struct klp_state *old_state) klp_is_state_compatible() argument
106 klp_is_patch_compatible(struct klp_patch *patch) klp_is_patch_compatible() argument
[all...]
H A Dtransition.c14 #include "patch.h"
74 * We allow to patch also functions where RCU is not watching,
87 * The transition to the target patch state is complete. Clean up the data
115 * from this patch on the ops->func_stack. Otherwise, after in klp_complete_transition()
179 * patch state.
260 * Determine whether it's safe to transition the task to the target patch state
310 * Try to safely switch a task to the target patch state. If it's currently
332 * functions. If all goes well, switch the task to the target patch in klp_try_switch_task()
444 * Try to switch all remaining tasks to the target patch state by walking the
449 * If any tasks are still stuck in the initial patch stat
455 struct klp_patch *patch; klp_try_complete_transition() local
573 klp_init_transition(struct klp_patch *patch, int state) klp_init_transition() argument
729 struct klp_patch *patch; klp_force_transition() local
[all...]
/kernel/linux/linux-5.10/kernel/livepatch/
H A Dcore.c24 #include "patch.h"
69 * Note that the patch might still be needed before klp_module_going() in klp_find_object_module()
100 static struct klp_object *klp_find_object(struct klp_patch *patch, in klp_find_object() argument
105 klp_for_each_object(patch, obj) { in klp_find_object()
328 * /sys/kernel/livepatch/<patch>
329 * /sys/kernel/livepatch/<patch>/enabled
330 * /sys/kernel/livepatch/<patch>/transition
331 * /sys/kernel/livepatch/<patch>/force
332 * /sys/kernel/livepatch/<patch>/<object>
333 * /sys/kernel/livepatch/<patch>/<objec
340 struct klp_patch *patch; enabled_store() local
383 struct klp_patch *patch; enabled_show() local
392 struct klp_patch *patch; transition_show() local
402 struct klp_patch *patch; force_store() local
450 klp_alloc_object_dynamic(const char *name, struct klp_patch *patch) klp_alloc_object_dynamic() argument
507 klp_add_object_nops(struct klp_patch *patch, struct klp_object *old_obj) klp_add_object_nops() argument
539 klp_add_nops(struct klp_patch *patch) klp_add_nops() argument
559 struct klp_patch *patch; klp_kobj_release_patch() local
629 __klp_free_objects(struct klp_patch *patch, bool nops_only) __klp_free_objects() argument
644 klp_free_objects(struct klp_patch *patch) klp_free_objects() argument
649 klp_free_objects_dynamic(struct klp_patch *patch) klp_free_objects_dynamic() argument
661 klp_free_patch_start(struct klp_patch *patch) klp_free_patch_start() argument
677 klp_free_patch_finish(struct klp_patch *patch) klp_free_patch_finish() argument
700 struct klp_patch *patch = klp_free_patch_work_fn() local
706 klp_free_patch_async(struct klp_patch *patch) klp_free_patch_async() argument
752 klp_apply_object_relocs(struct klp_patch *patch, struct klp_object *obj) klp_apply_object_relocs() argument
776 klp_init_object_loaded(struct klp_patch *patch, struct klp_object *obj) klp_init_object_loaded() argument
824 klp_init_object(struct klp_patch *patch, struct klp_object *obj) klp_init_object() argument
862 klp_init_object_early(struct klp_patch *patch, struct klp_object *obj) klp_init_object_early() argument
870 klp_init_patch_early(struct klp_patch *patch) klp_init_patch_early() argument
903 klp_init_patch(struct klp_patch *patch) klp_init_patch() argument
929 __klp_disable_patch(struct klp_patch *patch) __klp_disable_patch() argument
961 __klp_enable_patch(struct klp_patch *patch) __klp_enable_patch() argument
1029 klp_enable_patch(struct klp_patch *patch) klp_enable_patch() argument
1146 struct klp_patch *patch; klp_cleanup_module_patches_limited() local
1175 struct klp_patch *patch; klp_module_coming() local
[all...]
H A Dstate.c15 #define klp_for_each_state(patch, state) \
16 for (state = patch->states; state && state->id; state++)
20 * the given patch
21 * @patch: livepatch that modifies the given system state
24 * Checks whether the given patch modifies the given system state.
26 * The function can be called either from pre/post (un)patch
31 struct klp_state *klp_get_state(struct klp_patch *patch, unsigned long id) in klp_get_state() argument
35 klp_for_each_state(patch, state) { in klp_get_state()
58 * It is typically called only from pre/post (un)patch
66 struct klp_patch *patch; in klp_get_prev_state() local
87 klp_is_state_compatible(struct klp_patch *patch, struct klp_state *old_state) klp_is_state_compatible() argument
106 klp_is_patch_compatible(struct klp_patch *patch) klp_is_patch_compatible() argument
[all...]
H A Dtransition.c13 #include "patch.h"
53 * We allow to patch also functions where RCU is not watching,
66 * The transition to the target patch state is complete. Clean up the data
94 * from this patch on the ops->func_stack. Otherwise, after in klp_complete_transition()
158 * patch state.
239 * Determine whether it's safe to transition the task to the target patch state
277 * Try to safely switch a task to the target patch state. If it's currently
304 * functions. If all goes well, switch the task to the target patch in klp_try_switch_task()
381 * Try to switch all remaining tasks to the target patch state by walking the
386 * If any tasks are still stuck in the initial patch stat
392 struct klp_patch *patch; klp_try_complete_transition() local
504 klp_init_transition(struct klp_patch *patch, int state) klp_init_transition() argument
644 struct klp_patch *patch; klp_force_transition() local
[all...]
/kernel/linux/linux-5.10/scripts/
H A Dpatch-kernel4 # usage: patch-kernel [ sourcedir [ patchdir [ stopversion ] [ -acxx ] ] ]
5 # The source directory defaults to /usr/src/linux, and the patch
8 # scripts/patch-kernel . ..
11 # scripts/patch-kernel . .. -ac
12 # Get the latest Linux kernel and patch it with the latest ac patch
13 # scripts/patch-kernel . .. 2.4.9
15 # scripts/patch-kernel . .. 2.4.9 -ac
17 # scripts/patch-kernel . .. 2.4.9 -ac11
18 # Gets 2.4.9 with ac patch ac1
[all...]
/kernel/linux/linux-6.6/scripts/
H A Dpatch-kernel4 # usage: patch-kernel [ sourcedir [ patchdir [ stopversion ] [ -acxx ] ] ]
5 # The source directory defaults to /usr/src/linux, and the patch
8 # scripts/patch-kernel . ..
11 # scripts/patch-kernel . .. -ac
12 # Get the latest Linux kernel and patch it with the latest ac patch
13 # scripts/patch-kernel . .. 2.4.9
15 # scripts/patch-kernel . .. 2.4.9 -ac
17 # scripts/patch-kernel . .. 2.4.9 -ac11
18 # Gets 2.4.9 with ac patch ac1
[all...]
/kernel/linux/linux-5.10/sound/drivers/opl3/
H A Dopl3_synth.c231 * load a patch, obviously.
236 * name is the name string of the patch.
247 struct fm_patch *patch; in snd_opl3_load_patch() local
250 patch = snd_opl3_find_patch(opl3, prog, bank, 1); in snd_opl3_load_patch()
251 if (!patch) in snd_opl3_load_patch()
254 patch->type = type; in snd_opl3_load_patch()
257 patch->inst.op[i].am_vib = data[AM_VIB + i]; in snd_opl3_load_patch()
258 patch->inst.op[i].ksl_level = data[KSL_LEVEL + i]; in snd_opl3_load_patch()
259 patch->inst.op[i].attack_decay = data[ATTACK_DECAY + i]; in snd_opl3_load_patch()
260 patch in snd_opl3_load_patch()
309 struct fm_patch *patch; snd_opl3_find_patch() local
336 struct fm_patch *patch, *next; snd_opl3_clear_patches() local
[all...]
/kernel/linux/linux-6.6/sound/drivers/opl3/
H A Dopl3_synth.c231 * load a patch, obviously.
236 * name is the name string of the patch.
247 struct fm_patch *patch; in snd_opl3_load_patch() local
250 patch = snd_opl3_find_patch(opl3, prog, bank, 1); in snd_opl3_load_patch()
251 if (!patch) in snd_opl3_load_patch()
254 patch->type = type; in snd_opl3_load_patch()
257 patch->inst.op[i].am_vib = data[AM_VIB + i]; in snd_opl3_load_patch()
258 patch->inst.op[i].ksl_level = data[KSL_LEVEL + i]; in snd_opl3_load_patch()
259 patch->inst.op[i].attack_decay = data[ATTACK_DECAY + i]; in snd_opl3_load_patch()
260 patch in snd_opl3_load_patch()
309 struct fm_patch *patch; snd_opl3_find_patch() local
336 struct fm_patch *patch, *next; snd_opl3_clear_patches() local
[all...]
/kernel/linux/linux-5.10/arch/xtensa/kernel/
H A Djump_label.c26 struct patch { struct
41 struct patch *patch = data; in patch_text_stop_machine() local
43 if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) { in patch_text_stop_machine()
44 local_patch_text(patch->addr, patch->data, patch->sz); in patch_text_stop_machine()
45 atomic_inc(&patch->cpu_count); in patch_text_stop_machine()
47 while (atomic_read(&patch->cpu_count) <= num_online_cpus()) in patch_text_stop_machine()
49 __invalidate_icache_range(patch in patch_text_stop_machine()
57 struct patch patch = { patch_text() local
[all...]
/kernel/linux/linux-6.6/arch/xtensa/kernel/
H A Djump_label.c26 struct patch { struct
41 struct patch *patch = data; in patch_text_stop_machine() local
43 if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) { in patch_text_stop_machine()
44 local_patch_text(patch->addr, patch->data, patch->sz); in patch_text_stop_machine()
45 atomic_inc(&patch->cpu_count); in patch_text_stop_machine()
47 while (atomic_read(&patch->cpu_count) <= num_online_cpus()) in patch_text_stop_machine()
49 __invalidate_icache_range(patch in patch_text_stop_machine()
57 struct patch patch = { patch_text() local
[all...]
/kernel/linux/linux-5.10/sound/synth/emux/
H A Demux_hwdep.c17 * load patch
23 struct soundfont_patch_info patch; in snd_emux_hwdep_load_patch() local
25 if (copy_from_user(&patch, arg, sizeof(patch))) in snd_emux_hwdep_load_patch()
28 if (patch.key == GUS_PATCH) in snd_emux_hwdep_load_patch()
30 patch.len + sizeof(patch), in snd_emux_hwdep_load_patch()
33 if (patch.type >= SNDRV_SFNT_LOAD_INFO && in snd_emux_hwdep_load_patch()
34 patch.type <= SNDRV_SFNT_PROBE_DATA) { in snd_emux_hwdep_load_patch()
35 err = snd_soundfont_load(emu->sflist, arg, patch in snd_emux_hwdep_load_patch()
[all...]
H A Dsoundfont.c91 * close the patch if the patch was opened by this client.
108 * Deal with a soundfont patch. Any driver could use these routines
119 struct soundfont_patch_info patch; in snd_soundfont_load() local
123 if (count < (long)sizeof(patch)) { in snd_soundfont_load()
124 snd_printk(KERN_ERR "patch record too small %ld\n", count); in snd_soundfont_load()
127 if (copy_from_user(&patch, data, sizeof(patch))) in snd_soundfont_load()
130 count -= sizeof(patch); in snd_soundfont_load()
131 data += sizeof(patch); in snd_soundfont_load()
941 struct patch_info patch; load_guspatch() local
[all...]
/kernel/linux/linux-6.6/sound/synth/emux/
H A Demux_hwdep.c17 * load patch
23 struct soundfont_patch_info patch; in snd_emux_hwdep_load_patch() local
25 if (copy_from_user(&patch, arg, sizeof(patch))) in snd_emux_hwdep_load_patch()
28 if (patch.key == GUS_PATCH) in snd_emux_hwdep_load_patch()
30 patch.len + sizeof(patch), in snd_emux_hwdep_load_patch()
33 if (patch.type >= SNDRV_SFNT_LOAD_INFO && in snd_emux_hwdep_load_patch()
34 patch.type <= SNDRV_SFNT_PROBE_DATA) { in snd_emux_hwdep_load_patch()
35 err = snd_soundfont_load(emu->sflist, arg, patch in snd_emux_hwdep_load_patch()
[all...]
H A Dsoundfont.c91 * close the patch if the patch was opened by this client.
108 * Deal with a soundfont patch. Any driver could use these routines
119 struct soundfont_patch_info patch; in snd_soundfont_load() local
123 if (count < (long)sizeof(patch)) { in snd_soundfont_load()
124 snd_printk(KERN_ERR "patch record too small %ld\n", count); in snd_soundfont_load()
127 if (copy_from_user(&patch, data, sizeof(patch))) in snd_soundfont_load()
130 count -= sizeof(patch); in snd_soundfont_load()
131 data += sizeof(patch); in snd_soundfont_load()
947 struct patch_info patch; load_guspatch() local
[all...]
/kernel/linux/linux-5.10/arch/parisc/kernel/
H A Dpatch.c3 * functions to patch RO kernel text during runtime
16 #include <asm/patch.h>
18 struct patch { struct
103 struct patch *patch = data; in patch_text_stop_machine() local
105 __patch_text_multiple(patch->addr, patch->insn, patch->len); in patch_text_stop_machine()
111 struct patch patch in patch_text() local
123 struct patch patch = { patch_text_multiple() local
[all...]
/kernel/linux/linux-6.6/arch/parisc/kernel/
H A Dpatch.c3 * functions to patch RO kernel text during runtime
16 #include <asm/patch.h>
18 struct patch { struct
103 struct patch *patch = data; in patch_text_stop_machine() local
105 __patch_text_multiple(patch->addr, patch->insn, patch->len); in patch_text_stop_machine()
111 struct patch patch in patch_text() local
123 struct patch patch = { patch_text_multiple() local
[all...]
/kernel/linux/linux-5.10/arch/ia64/kernel/
H A Dvmlinux.lds.S85 .data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) {
87 *(.data..patch.phys_stack_reg)
126 .data..patch.vtop : AT(ADDR(.data..patch.vtop) - LOAD_OFFSET) {
128 *(.data..patch.vtop)
132 .data..patch.rse : AT(ADDR(.data..patch.rse) - LOAD_OFFSET) {
134 *(.data..patch.rse)
138 .data..patch
[all...]
/kernel/linux/linux-6.6/arch/ia64/kernel/
H A Dvmlinux.lds.S84 .data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) {
86 *(.data..patch.phys_stack_reg)
125 .data..patch.vtop : AT(ADDR(.data..patch.vtop) - LOAD_OFFSET) {
127 *(.data..patch.vtop)
131 .data..patch.rse : AT(ADDR(.data..patch.rse) - LOAD_OFFSET) {
133 *(.data..patch.rse)
137 .data..patch
[all...]
/kernel/linux/linux-5.10/arch/riscv/kernel/
H A Dpatch.c15 #include <asm/patch.h>
118 struct patch_insn *patch = data; in patch_text_cb() local
121 if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) { in patch_text_cb()
123 patch_text_nosync(patch->addr, &patch->insn, in patch_text_cb()
124 GET_INSN_LENGTH(patch->insn)); in patch_text_cb()
125 atomic_inc(&patch->cpu_count); in patch_text_cb()
127 while (atomic_read(&patch->cpu_count) <= num_online_cpus()) in patch_text_cb()
139 struct patch_insn patch = { in patch_text() local
155 ret = stop_machine_cpuslocked(patch_text_cb, &patch, cpu_online_mas in patch_text()
[all...]
/kernel/linux/linux-5.10/arch/arm/kernel/
H A Dpatch.c12 #include <asm/patch.h>
14 struct patch { struct
113 struct patch *patch = data; in patch_text_stop_machine() local
115 __patch_text(patch->addr, patch->insn); in patch_text_stop_machine()
122 struct patch patch = { in patch_text() local
127 stop_machine_cpuslocked(patch_text_stop_machine, &patch, NULL); in patch_text()
/kernel/linux/linux-6.6/arch/arm/kernel/
H A Dpatch.c12 #include <asm/patch.h>
14 struct patch { struct
113 struct patch *patch = data; in patch_text_stop_machine() local
115 __patch_text(patch->addr, patch->insn); in patch_text_stop_machine()
122 struct patch patch = { in patch_text() local
127 stop_machine_cpuslocked(patch_text_stop_machine, &patch, NULL); in patch_text()
/kernel/linux/linux-6.6/arch/riscv/kernel/
H A Dpatch.c16 #include <asm/patch.h>
228 struct patch_insn *patch = data; in patch_text_cb() local
232 if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) { in patch_text_cb()
233 for (i = 0; ret == 0 && i < patch->ninsns; i++) { in patch_text_cb()
234 len = GET_INSN_LENGTH(patch->insns[i]); in patch_text_cb()
235 ret = patch_text_nosync(patch->addr + i * len, in patch_text_cb()
236 &patch->insns[i], len); in patch_text_cb()
238 atomic_inc(&patch->cpu_count); in patch_text_cb()
240 while (atomic_read(&patch->cpu_count) <= num_online_cpus()) in patch_text_cb()
252 struct patch_insn patch in patch_text() local
[all...]
/kernel/linux/linux-5.10/lib/livepatch/
H A Dtest_klp_state.c32 static struct klp_patch patch; variable
38 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in allocate_loglevel_state()
55 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in fix_console_loglevel()
68 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in restore_console_loglevel()
80 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in free_loglevel_state()
89 /* Executed on object patching (ie, patch enablement) */
96 /* Executed on object unpatching (ie, patch disablement) */
103 /* Executed on object unpatching (ie, patch disablement) */
110 /* Executed on object unpatching (ie, patch disablement) */
141 static struct klp_patch patch variable
[all...]

Completed in 11 milliseconds

12345678910>>...12