/linux/kernel/livepatch/ |
H A D | core.c | 25 #include "patch.h" 71 * 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() 343 * /sys/kernel/livepatch/<patch> 344 * /sys/kernel/livepatch/<patch>/enabled 345 * /sys/kernel/livepatch/<patch>/transition 346 * /sys/kernel/livepatch/<patch>/force 347 * /sys/kernel/livepatch/<patch>/replace 348 * /sys/kernel/livepatch/<patch>/stack_orde 358 struct klp_patch *patch; enabled_store() local 401 struct klp_patch *patch; enabled_show() local 410 struct klp_patch *patch; transition_show() local 419 struct klp_patch *patch; force_store() local 448 struct klp_patch *patch; replace_show() local 457 struct klp_patch *patch, *this_patch; stack_order_show() local 518 klp_alloc_object_dynamic(const char * name,struct klp_patch * patch) klp_alloc_object_dynamic() argument 574 klp_add_object_nops(struct klp_patch * patch,struct klp_object * old_obj) klp_add_object_nops() argument 609 klp_add_nops(struct klp_patch * patch) klp_add_nops() argument 629 struct klp_patch *patch; klp_kobj_release_patch() local 700 __klp_free_objects(struct klp_patch * patch,bool nops_only) __klp_free_objects() argument 715 klp_free_objects(struct klp_patch * patch) klp_free_objects() argument 720 klp_free_objects_dynamic(struct klp_patch * patch) klp_free_objects_dynamic() argument 732 klp_free_patch_start(struct klp_patch * patch) klp_free_patch_start() argument 748 klp_free_patch_finish(struct klp_patch * patch) klp_free_patch_finish() argument 771 struct klp_patch *patch = klp_free_patch_work_fn() local 777 klp_free_patch_async(struct klp_patch * patch) klp_free_patch_async() argument 823 klp_write_object_relocs(struct klp_patch * patch,struct klp_object * obj,bool apply) klp_write_object_relocs() argument 847 klp_apply_object_relocs(struct klp_patch * patch,struct klp_object * obj) klp_apply_object_relocs() argument 853 klp_clear_object_relocs(struct klp_patch * patch,struct klp_object * obj) klp_clear_object_relocs() argument 860 klp_init_object_loaded(struct klp_patch * patch,struct klp_object * obj) klp_init_object_loaded() argument 908 klp_init_object(struct klp_patch * patch,struct klp_object * obj) klp_init_object() argument 946 klp_init_object_early(struct klp_patch * patch,struct klp_object * obj) klp_init_object_early() argument 954 klp_init_patch_early(struct klp_patch * patch) klp_init_patch_early() argument 976 klp_init_patch(struct klp_patch * patch) klp_init_patch() argument 1002 __klp_disable_patch(struct klp_patch * patch) __klp_disable_patch() argument 1034 __klp_enable_patch(struct klp_patch * patch) __klp_enable_patch() argument 1102 klp_enable_patch(struct klp_patch * patch) klp_enable_patch() argument 1227 struct klp_patch *patch; klp_cleanup_module_patches_limited() local 1256 struct klp_patch *patch; klp_module_coming() local [all...] |
H A D | state.c | 15 #define klp_for_each_state(patch, state) \ argument 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 D | transition.c | 14 #include "patch.h" 65 * We allow to patch also functions where RCU is not watching, 78 * The transition to the target patch state is complete. Clean up the data 106 * from this patch on the ops->func_stack. Otherwise, after in klp_complete_transition() 170 * patch state. 251 * Determine whether it's safe to transition the task to the target patch state 301 * Try to safely switch a task to the target patch state. If it's currently 323 * functions. If all goes well, switch the task to the target patch in klp_try_switch_task() 423 * Try to switch all remaining tasks to the target patch state by walking the 428 * If any tasks are still stuck in the initial patch stat 434 struct klp_patch *patch; klp_try_complete_transition() local 552 klp_init_transition(struct klp_patch * patch,int state) klp_init_transition() argument 708 struct klp_patch *patch; klp_force_transition() local [all...] |
/linux/scripts/ |
H A D | patch-kernel | 4 # 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...] |
/linux/Documentation/process/ |
H A D | applying-patches.rst | 11 This document is obsolete. In most cases, rather than using ``patch`` 15 a patch to the kernel or, more specifically, what base kernel a patch for 24 What is a patch? 27 A patch is a small text document containing a delta of changes between two 31 To correctly apply a patch you need to know what base it was generated from 32 and what new version the patch will change the source tree into. These 33 should both be present in the patch file metadata or be possible to deduce 37 How do I apply or revert a patch? 40 You apply a patch wit [all...] |
H A D | submitting-patches.rst | 48 Describe your problem. Whether your patch is a one-line bug fix or 77 The maintainer will thank you if you write your patch description in a 81 Solve only one problem per patch. If your description starts to get 82 long, that's a sign that you probably need to split up your patch. 85 When you submit or resubmit a patch or patch series, include the 86 complete patch description and justification for it. Don't just 87 say that this is version N of the patch (series). Don't expect the 88 subsystem maintainer to refer back to earlier patch versions or referenced 89 URLs to find the patch descriptio [all...] |
H A D | 5.Posting.rst | 50 summary of the results should be included with the patch. 68 general rule, a patch should be based on the current mainline as found in 75 on the area of your patch and what is going on elsewhere, basing a patch 79 Only the most simple changes should be formatted as a single patch; 85 - The patch series you post will almost certainly not be the series of 93 patch. These changes can be small ("add a field to this structure") or 95 conceptually small and amenable to a one-line description. Each patch 100 changes in the same patch. If a single patch fixe [all...] |
H A D | backporting.rst | 27 Applying the patch to a tree 30 Sometimes the patch you are backporting already exists as a git commit, 32 ``git cherry-pick``. However, if the patch comes from an email, as it 37 quite picky about the patch applying perfectly to your source tree. In 39 edit the patch to make it apply. 42 where the patch applies cleanly and *then* cherry-pick it over to your 46 apply a patch that just arrived on LKML to an older stable kernel, you 50 It's generally better to use the exact same base as the one the patch 53 problem with applying the patch to the "wrong" base is that it may pull 60 it less likely to apply the patch t [all...] |
/linux/sound/drivers/opl3/ |
H A D | opl3_synth.c | 229 * load a patch, obviously. 234 * name is the name string of the patch. 245 struct fm_patch *patch; in snd_opl3_load_patch() local 248 patch = snd_opl3_find_patch(opl3, prog, bank, 1); in snd_opl3_load_patch() 249 if (!patch) in snd_opl3_load_patch() 252 patch->type = type; in snd_opl3_load_patch() 255 patch->inst.op[i].am_vib = data[AM_VIB + i]; in snd_opl3_load_patch() 256 patch->inst.op[i].ksl_level = data[KSL_LEVEL + i]; in snd_opl3_load_patch() 257 patch->inst.op[i].attack_decay = data[ATTACK_DECAY + i]; in snd_opl3_load_patch() 258 patch in snd_opl3_load_patch() 307 struct fm_patch *patch; snd_opl3_find_patch() local 334 struct fm_patch *patch, *next; snd_opl3_clear_patches() local [all...] |
/linux/arch/xtensa/kernel/ |
H A D | jump_label.c | 26 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...] |
/linux/scripts/coccinelle/api/ |
H A D | string_choices.cocci | 6 virtual patch 10 @str_plural depends on patch@ 21 @str_plural_r depends on !patch@ 38 @str_up_down depends on patch disable neg_if_exp@ 44 @str_up_down_r depends on !patch disable neg_if_exp@ 57 @str_down_up depends on patch disable neg_if_exp@ 63 @str_down_up_r depends on !patch disable neg_if_exp@ 76 @str_true_false depends on patch disable neg_if_exp@ 82 @str_true_false_r depends on !patch disable neg_if_exp@ 95 @str_false_true depends on patch disabl [all...] |
/linux/arch/parisc/kernel/ |
H A D | patch.c | 3 * functions to patch RO kernel text during runtime 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 117 stop_machine_cpuslocked(patch_text_stop_machine, &patch, NUL in patch_text() 24 lenpatch global() argument 123 struct patch patch = { patch_text_multiple() local [all...] |
/linux/Documentation/translations/it_IT/process/ |
H A D | 5.Posting.rst | 15 e di procedure per la pubblicazione delle patch; seguirle renderà la vita 26 C'è sempre una certa resistenza nel pubblicare patch finché non sono 27 veramente "pronte". Per semplici patch questo non è un problema. 37 Poche persone guarderanno delle patch che si sa essere fatte a metà, 42 Prima di creare patch 46 l'invio delle patch alla comunità di sviluppo. Queste cose includono: 56 - La vostra patch ha delle conseguenze in termini di prestazioni? 59 incluso nella patch. 70 Preparazione di una patch 73 La preparazione delle patch pe [all...] |
H A D | submitting-patches.rst | 8 Inviare patch: la guida essenziale per vedere il vostro codice nel kernel 11 Una persona o un'azienda che volesse inviare una patch al kernel potrebbe 15 vostre patch accettate. 22 Per delle patch relative alle associazioni per Device Tree leggete 25 Questa documentazione assume che sappiate usare ``git`` per preparare le patch. 44 sorgenti e desiderano che le patch siano preparate basandosi su di essi. 66 singolarmente le patch dai sorgenti principali; quindi, includete tutte 87 I manutentori vi saranno grati se scrivete la descrizione della patch in un 91 Risolvete solo un problema per patch. Se la vostra descrizione inizia ad 92 essere lunga, potrebbe essere un segno che la vostra patch necessit [all...] |
H A D | stable-kernel-rules.rst | 11 Regole sul tipo di patch che vengono o non vengono accettate nei sorgenti 14 - Questa patch o una equivalente deve esistere già nei sorgenti principali di 40 Procedura per sottomettere patch per i sorgenti -stable 44 Una patch di sicurezza non dovrebbe essere gestita (solamente) dal processo 50 1. Aggiungi un'etichetta 'stable' alla descrizione della patch al momento della 52 2. Chiedere alla squadra "stable" di prendere una patch già applicata sui 54 3. Sottomettere una patch alla squadra "stable" equivalente ad una modifica già 62 L':ref:`it_option_3` è un'alternativa ai due metodi precedenti quando la patch 79 Aggiungete la seguente etichetta nell'area delle firme per far sì che una patch 91 Una volta che la patch [all...] |
H A D | email-clients.rst | 17 per applicare le patch. 19 Se siete dei novelli utilizzatori di ``git`` allora inviate la patch a voi 23 la patch alla lista di discussione più appropriata. 28 Le patch per il kernel vengono inviate per posta elettronica, preferibilmente 32 ben apprezzati perché rende più difficile citare porzioni di patch durante il 36 messaggio, sia per la patch che per qualsiasi altro messaggio. Il sito 40 I programmi di posta elettronica che vengono usati per inviare le patch per il 45 Non inviate patch con ``format=flowed``. Questo potrebbe introdurre 49 Questo può corrompere le patch. 52 testo. Le patch inviat [all...] |
/linux/Documentation/ABI/testing/ |
H A D | sysfs-kernel-livepatch | 9 each loaded live patch module. 11 What: /sys/kernel/livepatch/<patch> 16 The patch directory contains subdirectories for each kernel 19 What: /sys/kernel/livepatch/<patch>/enabled 25 code is currently applied. Writing 0 will disable the patch 26 while writing 1 will re-enable the patch. 28 What: /sys/kernel/livepatch/<patch>/transition 33 An attribute which indicates whether the patch is currently in 36 What: /sys/kernel/livepatch/<patch>/force 45 use this feature without a clearance from a patch [all...] |
/linux/Documentation/livepatch/ |
H A D | callbacks.rst | 5 Livepatch (un)patch-callbacks provide a mechanism for livepatch modules 16 In most cases, (un)patch callbacks will need to be used in conjunction 26 patch. 39 * Pre-patch 42 * Post-patch 48 active), used to clean up post-patch callback 54 used to cleanup pre-patch callback resources 61 symmetry: pre-patch callbacks have a post-unpatch counterpart and 62 post-patch callbacks have a pre-unpatch counterpart. An unpatch 63 callback will only be executed if its corresponding patch callbac [all...] |
/linux/Documentation/translations/zh_CN/ |
H A D | how-to.rst | 275 git format-patch -N 280 0001-docs-zh_CN-add-xxxxxxxx.patch 281 0002-docs-zh_CN-add-xxxxxxxx.patch 289 ./scripts/checkpatch.pl *.patch 301 git am 0001-xxxxx.patch 302 ./scripts/checkpatch.pl 0001-xxxxx.patch 307 git am 0002-xxxxx.patch 315 git format-patch -N --cover-letter --thread=shallow 320 0000-cover-letter.patch 321 0001-docs-zh_CN-add-xxxxxxxx.patch [all...] |
/linux/scripts/coccinelle/misc/ |
H A D | secs_to_jiffies.cocci | 12 virtual patch 16 @pconst depends on patch@ constant C; @@ 21 @pconstms depends on patch@ constant C; @@ 26 @pexpr depends on patch@ expression E; @@ 31 @pexprms depends on patch@ expression E; @@ 36 @r depends on report && !patch@ 52 @c depends on context && !patch@
|
/linux/arch/arm/kernel/ |
H A D | patch.c | 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() 20 insnpatch global() argument
|
/linux/tools/testing/selftests/livepatch/test_modules/ |
H A D | test_klp_state.c | 32 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...] |
H A D | test_klp_state2.c | 32 static struct klp_patch patch; variable 45 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in allocate_loglevel_state() 62 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in fix_console_loglevel() 90 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in restore_console_loglevel() 109 loglevel_state = klp_get_state(&patch, CONSOLE_LOGLEVEL_STATE); in free_loglevel_state() 118 /* Executed on object patching (ie, patch enablement) */ 125 /* Executed on object unpatching (ie, patch disablement) */ 132 /* Executed on object unpatching (ie, patch disablement) */ 139 /* Executed on object unpatching (ie, patch disablement) */ 170 static struct klp_patch patch variable [all...] |
/linux/Documentation/translations/it_IT/arch/riscv/ |
H A D | patch-acceptance.rst | 3 :Original: :doc:`../../../../arch/riscv/patch-acceptance` 28 RISC-V ha un'istanza di patchwork dov'è possibile controllare lo stato delle patch: 32 Se la vostra patch non appare nella vista predefinita, i manutentori di RISC-V 37 e collaudando le patch man mano che arrivano. Il processo applica le patch al 39 questo a seconda che la patch sia stata o meno individuata come correzione. In 41 stata applicata una serie di patch sarà annotato su patchwork. È improbabile che 42 vengano applicate Le patch che non passano i controlli, nella maggior parte dei 45 In aggiunta alla lista delle verifiche da fare prima di inviare una patch 48 Accetteremo le patch pe [all...] |
/linux/arch/riscv/kernel/ |
H A D | patch.c | 253 struct patch_insn *patch = data; in patch_text_cb() local 256 if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) { in patch_text_cb() 257 ret = patch_insn_write(patch->addr, patch->insns, patch->len); in patch_text_cb() 265 atomic_inc_return_release(&patch->cpu_count); in patch_text_cb() 267 while (atomic_read(&patch->cpu_count) <= num_online_cpus()) in patch_text_cb() 280 struct patch_insn patch = { in patch_text() local 297 ret = stop_machine_cpuslocked(patch_text_cb, &patch, cpu_online_mask); in patch_text()
|