/linux/kernel/livepatch/ |
H A D | core.c | 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() 354 static int __klp_disable_patch(struct klp_patch *patch); 359 struct klp_patch *patch; in enabled_store() local 367 patch = container_of(kobj, struct klp_patch, kobj); in enabled_store() 371 if (patch->enabled == enabled) { in enabled_store() 384 if (patch == klp_transition_patch) in enabled_store() 387 ret = __klp_disable_patch(patch); in enabled_store() 402 struct klp_patch *patch; in enabled_show() local 404 patch = container_of(kobj, struct klp_patch, kobj); in enabled_show() [all …]
|
H A 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 …]
|
H A D | transition.c | 455 struct klp_patch *patch; in klp_try_complete_transition() local 512 patch = klp_transition_patch; in klp_try_complete_transition() 520 if (!patch->enabled) in klp_try_complete_transition() 521 klp_free_patch_async(patch); in klp_try_complete_transition() 522 else if (patch->replace) in klp_try_complete_transition() 523 klp_free_replaced_patches_async(patch); in klp_try_complete_transition() 573 void klp_init_transition(struct klp_patch *patch, int state) in klp_init_transition() argument 583 klp_transition_patch = patch; in klp_init_transition() 591 pr_debug("'%s': initializing %s transition\n", patch->mod->name, in klp_init_transition() 637 klp_for_each_object(patch, obj) in klp_init_transition() [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 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 …]
|
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 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/scripts/ |
H A 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/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() 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() 247 struct fm_patch *patch; snd_opl3_load_patch() local 309 struct fm_patch *patch; snd_opl3_find_patch() local 336 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() 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/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 per la pubblicazione può richiedere una quantità [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 necessita d'essere [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 è stata inclusa, verrà applicata anche sui sorgenti [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 inviate per posta elettronica dovrebbero essere codificate in [all …]
|
H A 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/sound/synth/emux/ |
H A D | emux_hwdep.c | 17 * 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() 32 if (patch.type >= SNDRV_SFNT_LOAD_INFO && in snd_emux_hwdep_load_patch() 33 patch.type <= SNDRV_SFNT_PROBE_DATA) { in snd_emux_hwdep_load_patch() 35 patch in snd_emux_hwdep_load_patch() [all...] |
H A D | soundfont.c | 92 * close the patch if the patch was opened by this client. 109 * Deal with a soundfont patch. Any driver could use these routines 121 struct soundfont_patch_info patch; in snd_soundfont_load() 125 if (count < (long)sizeof(patch)) { in snd_soundfont_load() 126 dev_err(card->dev, "patch record too small %ld\n", count); in snd_soundfont_load() 129 if (copy_from_user(&patch, data, sizeof(patch))) in snd_soundfont_load() 132 count -= sizeof(patch); in snd_soundfont_load() 133 data += sizeof(patch); in snd_soundfont_load() 119 struct soundfont_patch_info patch; snd_soundfont_load() local 979 struct patch_info patch; load_guspatch() local [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 callback was [all …]
|
H A D | cumulative-patches.rst | 23 static struct klp_patch patch = { 29 All processes are then migrated to use the code only from the new patch. 34 longer modified by the new cumulative patch. 37 cumulative patch. It helps to keep the patch consistent while adding or 40 Users could keep only the last patch installed on the system after 52 - Atomically revert some functions in a previous patch while 69 to that patch. This is safe as long as the livepatches do _not_ do 73 Also note that the replaced patch can be removed and loaded again 80 In other words, the cumulative patch is responsible for doing any actions 81 that are necessary to properly replace any older patch. [all …]
|
/linux/arch/parisc/kernel/ |
H A 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/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/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()
|
/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() 141 static struct klp_patch patch = { variable 150 return klp_enable_patch(&patch); in test_klp_callbacks_demo_init()
|
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() 170 static struct klp_patch patch = { variable 179 return klp_enable_patch(&patch); in test_klp_callbacks_demo_init()
|
/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 per un nuovo modulo o estensione se la fondazione 57 prestazioni, accetteremo patch solo per quelle estensioni che sono
|
/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()
|
/linux/scripts/coccinelle/misc/ |
H A D | minmax.cocci | 18 virtual patch 20 @rmax depends on !patch@ 34 @rmaxif depends on !patch@ 68 @rmin depends on !patch@ 82 @rminif depends on !patch@ 101 @pmax depends on patch@ 115 @pmaxif depends on patch@ 134 @pmin depends on patch@ 149 @pminif depends on patch@
|