/linux-6.1.9/kernel/livepatch/ |
D | core.c | 101 static struct klp_object *klp_find_object(struct klp_patch *patch, in klp_find_object() argument 106 klp_for_each_object(patch, obj) { in klp_find_object() 331 static int __klp_disable_patch(struct klp_patch *patch); 336 struct klp_patch *patch; in enabled_store() local 344 patch = container_of(kobj, struct klp_patch, kobj); in enabled_store() 348 if (patch->enabled == enabled) { in enabled_store() 361 if (patch == klp_transition_patch) in enabled_store() 364 ret = __klp_disable_patch(patch); in enabled_store() 379 struct klp_patch *patch; in enabled_show() local 381 patch = container_of(kobj, struct klp_patch, kobj); in enabled_show() [all …]
|
D | state.c | 15 #define klp_for_each_state(patch, state) \ argument 16 for (state = patch->states; state && state->id; state++) 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() 66 struct klp_patch *patch; in klp_get_prev_state() local 72 klp_for_each_patch(patch) { in klp_get_prev_state() 73 if (patch == klp_transition_patch) in klp_get_prev_state() 76 state = klp_get_state(patch, id); in klp_get_prev_state() 87 static bool klp_is_state_compatible(struct klp_patch *patch, in klp_is_state_compatible() argument 92 state = klp_get_state(patch, old_state->id); in klp_is_state_compatible() [all …]
|
D | transition.c | 388 struct klp_patch *patch; in klp_try_complete_transition() local 444 patch = klp_transition_patch; in klp_try_complete_transition() 452 if (!patch->enabled) in klp_try_complete_transition() 453 klp_free_patch_async(patch); in klp_try_complete_transition() 454 else if (patch->replace) in klp_try_complete_transition() 455 klp_free_replaced_patches_async(patch); in klp_try_complete_transition() 503 void klp_init_transition(struct klp_patch *patch, int state) in klp_init_transition() argument 513 klp_transition_patch = patch; in klp_init_transition() 521 pr_debug("'%s': initializing %s transition\n", patch->mod->name, in klp_init_transition() 566 klp_for_each_object(patch, obj) in klp_init_transition() [all …]
|
D | core.h | 10 #define klp_for_each_patch_safe(patch, tmp_patch) \ argument 11 list_for_each_entry_safe(patch, tmp_patch, &klp_patches, list) 13 #define klp_for_each_patch(patch) \ argument 14 list_for_each_entry(patch, &klp_patches, list) 16 void klp_free_patch_async(struct klp_patch *patch);
|
/linux-6.1.9/scripts/ |
D | patch-kernel | 62 PNAME=patch-kernel 73 patch directory defaults to the current directory, 92 echo "cannot find patch file: ${patch}" 149 if $uncomp ${patchdir}/$1${ext} | patch -p1 -s -N -E -d $sourcedir 171 if $uncomp ${patchdir}/"$1"${ext} | patch -p1 -Rs -N -E -d $sourcedir 242 patch="patch-${CURRENTFULLVERSION}" 243 findFile $patchdir/${patch} || noFile ${patch} 244 reversePatch ${patch} || exit 1 272 patch=patch-$FULLVERSION 274 findFile $patchdir/${patch} || noFile ${patch} [all …]
|
/linux-6.1.9/Documentation/process/ |
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 with the ``patch`` program. The patch program reads a diff 41 (or patch) file and makes the changes to the source tree described in it. [all …]
|
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 description and put that into the patch. 90 I.e., the patch (series) and its description should be self-contained. [all …]
|
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 fixes a critical security 105 - Each patch should yield a kernel which builds and runs properly; if your 106 patch series is interrupted in the middle, the result should still be a [all …]
|
/linux-6.1.9/sound/drivers/opl3/ |
D | opl3_synth.c | 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->inst.op[i].sustain_release = data[SUSTAIN_RELEASE + i]; in snd_opl3_load_patch() 261 patch->inst.op[i].wave_select = data[WAVE_SELECT + i]; in snd_opl3_load_patch() 263 patch->inst.feedback_connection[0] = data[CONNECTION]; in snd_opl3_load_patch() [all …]
|
/linux-6.1.9/arch/xtensa/kernel/ |
D | jump_label.c | 26 struct patch { struct 41 struct patch *patch = data; in patch_text_stop_machine() argument 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->addr, patch->sz); in patch_text_stop_machine() 57 struct patch patch = { in patch_text() local 64 &patch, cpu_online_mask); in patch_text()
|
/linux-6.1.9/Documentation/translations/it_IT/process/ |
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 per la pubblicazione può richiedere una quantità [all …]
|
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 necessita d'essere [all …]
|
D | stable-kernel-rules.rst | 11 Regole sul tipo di patch che vengono o non vengono accettate nei sorgenti 37 - Questa patch o una equivalente deve esistere già nei sorgenti principali di 41 Procedura per sottomettere patch per i sorgenti -stable 45 Una patch di sicurezza non dovrebbe essere gestita (solamente) dal processo 57 Per far sì che una patch venga automaticamente inclusa nei sorgenti stabili, 64 nell'area dedicata alla firme. Una volta che la patch è stata inclusa, verrà 73 Dopo che la patch è stata inclusa nei sorgenti Linux, inviate una mail a 74 stable@vger.kernel.org includendo: il titolo della patch, l'identificativo 83 Inviata la patch, dopo aver verificato che rispetta le regole descritte in 86 del kernel nel quale vorreste vedere la patch. [all …]
|
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 inviate per posta elettronica dovrebbero essere codificate in [all …]
|
D | submit-checklist.rst | 8 Lista delle verifiche da fare prima di inviare una patch per il kernel Linux 12 vedere le proprie patch accettate più rapidamente. 15 sottomissione delle patch, in particolare 41 5) Controllate lo stile del codice della vostra patch secondo le direttive 43 Prima dell'invio della patch, usate il verificatore di stile 46 vostra patch. 55 8) La patch è stata accuratamente revisionata rispetto alle più importanti 74 12) La patch è stata verificata con le seguenti opzioni abilitate 80 13) La patch è stata compilata e verificata in esecuzione con, e senza, 83 14) Se la patch ha effetti sull'IO dei dischi, eccetera: allora dev'essere [all …]
|
/linux-6.1.9/sound/synth/emux/ |
D | emux_hwdep.c | 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.len + sizeof(patch), TMP_CLIENT_ID); in snd_emux_hwdep_load_patch() 40 return emu->ops.load_fx(emu, patch.type, patch.optarg, arg, patch.len + sizeof(patch)); in snd_emux_hwdep_load_patch()
|
D | soundfont.c | 119 struct soundfont_patch_info patch; in snd_soundfont_load() local 123 if (count < (long)sizeof(patch)) { 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() 133 if (patch.key != SNDRV_OSS_SOUNDFONT_PATCH) { in snd_soundfont_load() 134 snd_printk(KERN_ERR "The wrong kind of patch %x\n", patch.key); in snd_soundfont_load() 137 if (count < patch.len) { in snd_soundfont_load() 139 count, patch.len); in snd_soundfont_load() 142 if (patch.len < 0) { in snd_soundfont_load() [all …]
|
/linux-6.1.9/arch/parisc/kernel/ |
D | patch.c | 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, NULL); in patch_text() 123 struct patch patch = { in patch_text_multiple() local 129 stop_machine_cpuslocked(patch_text_stop_machine, &patch, NULL); in patch_text_multiple()
|
/linux-6.1.9/Documentation/livepatch/ |
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 callback was [all …]
|
/linux-6.1.9/Documentation/ABI/testing/ |
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-6.1.9/arch/ia64/kernel/ |
D | vmlinux.lds.S | 85 .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.mckinley_e9 : AT(ADDR(.data..patch.mckinley_e9) - LOAD_OFFSET) { 140 *(.data..patch.mckinley_e9)
|
/linux-6.1.9/arch/riscv/kernel/ |
D | patch.c | 104 struct patch_insn *patch = data; in patch_text_cb() local 107 if (atomic_inc_return(&patch->cpu_count) == num_online_cpus()) { in patch_text_cb() 109 patch_text_nosync(patch->addr, &patch->insn, in patch_text_cb() 110 GET_INSN_LENGTH(patch->insn)); in patch_text_cb() 111 atomic_inc(&patch->cpu_count); in patch_text_cb() 113 while (atomic_read(&patch->cpu_count) <= num_online_cpus()) in patch_text_cb() 124 struct patch_insn patch = { in patch_text() local 131 &patch, cpu_online_mask); in patch_text()
|
/linux-6.1.9/arch/arm/kernel/ |
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()
|
/linux-6.1.9/lib/livepatch/ |
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() 141 static struct klp_patch patch = { variable 150 return klp_enable_patch(&patch); in test_klp_callbacks_demo_init()
|
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() 170 static struct klp_patch patch = { variable 179 return klp_enable_patch(&patch); in test_klp_callbacks_demo_init()
|