]> www.infradead.org Git - users/hch/misc.git/log
users/hch/misc.git
2 months agoMerge branch into tip/master: 'x86/sgx'
Ingo Molnar [Mon, 12 May 2025 12:34:53 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/sgx'

 # New commits in x86/sgx:
    e59236b5a09e ("x86/sgx: Use SHA-256 library API instead of crypto_shash API")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/sev'
Ingo Molnar [Mon, 12 May 2025 12:34:53 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/sev'

 # New commits in x86/sev:
    e396dd85172c ("x86/sev: Register tpm-svsm platform device")
    93b7c6b3ce91 ("tpm: Add SNP SVSM vTPM driver")
    b2849b072366 ("svsm: Add header with SVSM_VTPM_CMD helpers")
    770de678bc28 ("x86/sev: Add SVSM vTPM probe/send_command functions")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/platform'
Ingo Molnar [Mon, 12 May 2025 12:34:52 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/platform'

 # New commits in x86/platform:
    ab8131028710 ("x86/CPU/AMD: Print the reason for the last reset")
    cafb22242bfb ("Documentation: Add AMD Zen debugging document")
    7094702a9e6d ("platform/x86/amd/pmc: Use FCH_PM_BASE definition")
    624b0d5696a8 ("i2c: piix4, x86/platform: Move the SB800 PIIX4 FCH definitions to <asm/amd/fch.h>")
    7e173eb82ae9 ("i2c: piix4: Make CONFIG_I2C_PIIX4 dependent on CONFIG_X86")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/nmi'
Ingo Molnar [Mon, 12 May 2025 12:34:52 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/nmi'

 # New commits in x86/nmi:
    f2e01dcf6df2 ("x86/nmi: Improve NMI duration console printouts")
    05279a2863dd ("x86/nmi: Clean up NMI selftest")
    7324d7de7740 ("x86/nmi: Add missing description x86_platform_ops::get_nmi_reason to <asm/x86_init.h>")
    3b1292706305 ("x86/nmi: Improve <asm/nmi.h> documentation")
    59cddd397acc ("x86/nmi: Improve and relocate NMI handler comments")
    b4bc3144c1ec ("x86/nmi: Fix comment in unknown_nmi_error()")
    6325f9470146 ("x86/nmi: Remove export of local_touch_nmi()")
    4a8fba4be879 ("x86/nmi: Use a macro to initialize NMI descriptors")
    78a0323506f0 ("x86/nmi: Consolidate NMI panic variables")
    2e016da1cbbd ("x86/nmi: Simplify unknown NMI panic handling")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/msr'
Ingo Molnar [Mon, 12 May 2025 12:34:52 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/msr'

 # New commits in x86/msr:
    9cf787220031 ("accel/habanalabs: Don't build the driver on UML")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/mm'
Ingo Molnar [Mon, 12 May 2025 12:34:51 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/mm'

 # New commits in x86/mm:
    1b3f2bd04d90 ("x86/devmem: Remove duplicate range_is_allowed() definition")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/microcode'
Ingo Molnar [Mon, 12 May 2025 12:34:51 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/microcode'

 # New commits in x86/microcode:
    4804f5ad5d63 ("x86/cpu: Add "Old Microcode" docs to hw-vuln toctree")
    b43dc4ab0978 ("x86/microcode/AMD: Do not return error when microcode update is not necessary")
    c0a62eadb6fd ("x86/microcode/AMD: Use sha256() instead of init/update/final")
    4e2c719782a8 ("x86/cpu: Help users notice when running old Intel microcode")
    321550859f3b ("x86/microcode/AMD: Clean the cache if update did not load microcode")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/kconfig'
Ingo Molnar [Mon, 12 May 2025 12:34:51 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/kconfig'

 # New commits in x86/kconfig:
    ad9b861824ac ("x86/kbuild/64: Restrict clang versions that can use '-march=native'")
    01412081863a ("x86/kbuild/64: Test for the availability of the -mtune=native compiler flag")
    ea1dcca1de12 ("x86/kbuild/64: Add the CONFIG_X86_NATIVE_CPU option to locally optimize the kernel with '-march=native'")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/fpu'
Ingo Molnar [Mon, 12 May 2025 12:34:50 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/fpu'

 # New commits in x86/fpu:
    32d5fa804dc9 ("x86/fpu: Drop @perm from guest pseudo FPU container")
    d8414603b29f ("x86/fpu/xstate: Always preserve non-user xfeatures/flags in __state_perm")
    960bc2bcba59 ("x86/fpu: Restore fpu_thread_struct_whitelist() to fix CONFIG_HARDENED_USERCOPY=y crash")
    46c158e3ad0f ("x86/fpu: Shift fpregs_assert_state_consistent() from arch_exit_work() to its caller")
    016a2e6f8ae5 ("x86/fpu: Check TIF_NEED_FPU_LOAD instead of PF_KTHREAD|PF_USER_WORKER in fpu__drop()")
    2d299e3d773d ("x86/fpu: Always use memcpy_and_pad() in arch_dup_task_struct()")
    8e269c030eca ("x86/fpu: Remove DEFINE_EVENT(x86_fpu, x86_fpu_copy_src)")
    392bbe11c7cf ("x86/fpu: Remove x86_init_fpu")
    730faa15a069 ("x86/fpu: Simplify the switch_fpu_prepare() + switch_fpu_finish() logic")
    de8304c319bc ("x86/fpu: Rename fpu_reset_fpregs() to fpu_reset_fpstate_regs()")
    70fe4a0266ef ("x86/fpu: Remove export of mxcsr_feature_mask")
    d1e420772cd1 ("x86/pkeys: Simplify PKRU update in signal frame")
    64e54461ab6e ("x86/fpu: Refactor xfeature bitmask update code for sigframe XSAVE")
    39cd7fad39ce ("x86/fpu: Log XSAVE disablement consistently")
    ab6f87ddd0c6 ("selftests/x86/apx: Add APX test")
    50c5b071e283 ("x86/fpu/apx: Enable APX state support")
    ea68e39190cf ("x86/fpu/apx: Disallow conflicting MPX presence")
    bd0b10b795c5 ("x86/fpu/apx: Define APX state component")
    b02dc185ee86 ("x86/cpufeatures: Add X86_FEATURE_APX")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/entry'
Ingo Molnar [Mon, 12 May 2025 12:34:50 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/entry'

 # New commits in x86/entry:
    bdb30d565f4b ("x86/vdso: Remove redundant #ifdeffery around in_ia32_syscall()")
    2ce8043b1d34 ("x86/vdso: Remove #ifdeffery around page setup variants")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/cpu'
Ingo Molnar [Mon, 12 May 2025 12:34:50 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/cpu'

 # New commits in x86/cpu:
    c1ab4ce3cb75 ("tools/arch/x86: Move the <asm/amd-ibs.h> header to <asm/amd/ibs.h>")
    cc663ba3fe38 ("x86/cpu: Sanitize CPUID(0x80000000) output")
    49394b5af45c ("tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.4")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/cleanups'
Ingo Molnar [Mon, 12 May 2025 12:34:49 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/cleanups'

 # New commits in x86/cleanups:
    003f144ca046 ("x86/CPU/AMD: Replace strcpy() with strscpy()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/boot'
Ingo Molnar [Mon, 12 May 2025 12:34:49 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/boot'

 # New commits in x86/boot:
    ed4d95d033e3 ("x86/sev: Disentangle #VC handling code from startup code")
    5297886f0cc4 ("x86/boot: Provide __pti_set_user_pgtbl() to startup code")
    419cbaf6a56a ("x86/boot: Add a bunch of PIC aliases")
    f932adcc8650 ("x86/linkage: Add SYM_PIC_ALIAS() macro helper to emit symbol aliases")
    ae862964cbc5 ("x86/sev: Move instruction decoder into separate source file")
    fae89bbfdd9d ("x86/sev: Make sev_snp_enabled() a static function")
    b3464a36f7f2 ("x86/boot: Disregard __supported_pte_mask in __startup_64()")
    bd4a58beaaf1 ("x86/boot: Move early_setup_gdt() back into head64.c")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/asm'
Ingo Molnar [Mon, 12 May 2025 12:34:49 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/asm'

 # New commits in x86/asm:
    4b626015e1bf ("x86/insn: Stop decoding i64 instructions in x86-64 mode at opcode")
    ca698ec2f078 ("x86/insn: Fix opcode map (!REX2) superscript tags")
    3ce4b1f1f24b ("x86/asm: Rename rep_nop() to native_pause()")
    d109ff4f0bc3 ("x86/asm: Replace "REP; NOP" with PAUSE mnemonic")
    42c782fae38f ("x86/asm: Remove semicolon from "rep" prefixes")
    4850074ff06f ("x86/uaccess: Use asm_inline() instead of asm() in __untagged_addr()")
    7b3169dfa4ba ("objtool, x86/hweight: Remove ANNOTATE_IGNORE_ALTERNATIVE")
    d51faee4bd63 ("x86/percpu: Refer __percpu_prefix to __force_percpu_prefix")
    7615b94b6371 ("selftests/kexec: Add x86_64 selftest for kexec-jump and exception handling")
    de085ddd493b ("x86/kexec: Invalidate GDT/IDT from relocate_kernel() instead of earlier")
    7516e7216bdf ("x86/kexec: Add 8250 MMIO serial port output")
    d358b45120cc ("x86/kexec: Add 8250 serial port output")
    a23be6ccd8b9 ("x86: Remove __FORCE_ORDER workaround")
    6f9bd8ae0340 ("x86/uaccess: Predict valid_user_address() returning true")
    e29c5d0e5dc3 ("x86/bitops: Simplify variable_ffz() as variable__ffs(~word)")
    0717b1392dc7 ("x86/bitops: Use TZCNT mnemonic in <asm/bitops.h>")
    3d66af75b086 ("x86/kexec: Debugging support: Dump registers on exception")
    8df505af7fef ("x86/kexec: Debugging support: Load an IDT and basic exception entry points")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/alternatives'
Ingo Molnar [Mon, 12 May 2025 12:34:48 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/alternatives'

 # New commits in x86/alternatives:
    7f9958230d8a ("x86/mm: Fix false positive warning in switch_mm_irqs_off()")
    43c2df7e2b08 ("x86/alternative: Remove unused header #defines")
    aef1d0209ddf ("x86/mm: Fix {,un}use_temporary_mm() IRQ state")
    52ebfe7412ce ("x86/mm: Remove the mm_cpumask(prev) warning from switch_mm_irqs_off()")
    f99002b9a9cc ("x86/alternatives, um: Rename UML's text_poke_sync() wrapper to smp_text_poke_sync_each_cpu()")
    af8967158f9a ("x86/mm: Opt-in to IRQs-off activate_mm()")
    e7021e2fe0b4 ("x86/efi: Make efi_enter/leave_mm() use the use_/unuse_temporary_mm() machinery")
    58f8ffa91766 ("x86/mm: Allow temporary MMs when IRQs are on")
    4873f494bbe4 ("x86/mm: Remove 'mm' argument from unuse_temporary_mm() again")
    d376972c9825 ("x86/mm: Make use_/unuse_temporary_mm() non-static")
    81e3cbdef230 ("x86/events, x86/insn-eval: Remove incorrect current->active_mm references")
    0812e096cff0 ("x86/mm: Add 'mm' argument to unuse_temporary_mm()")
    23a76739d6af ("x86/alternatives: Make smp_text_poke_batch_process() subsume smp_text_poke_batch_finish()")
    4f9534719e52 ("x86/alternatives: Add comment about noinstr expectations")
    023f42dd5920 ("x86/alternatives: Rename 'apply_relocation()' to 'text_poke_apply_relocation()'")
    dac0d7542782 ("x86/alternatives: Update the comments in smp_text_poke_batch_process()")
    2c373ca0640f ("x86/alternatives: Remove 'smp_text_poke_batch_flush()'")
    b1bb39185df6 ("x86/alternatives: Move declarations of vmlinux.lds.S defined section symbols to <asm/alternative.h>")
    db5c68c88c07 ("x86/alternatives: Simplify the #include section")
    3c8454dfc914 ("x86/alternatives: Rename 'POKE_MAX_OPCODE_SIZE' to 'TEXT_POKE_MAX_OPCODE_SIZE'")
    8036fbe5a5d6 ("x86/alternatives: Rename 'TP_ARRAY_NR_ENTRIES_MAX' to 'TEXT_POKE_ARRAY_MAX'")
    22b966231303 ("x86/alternatives: Standardize on 'tpl' local variable names for 'struct smp_text_poke_loc *'")
    3e6f47573ec3 ("x86/alternatives: Simplify and clean up patch_cmp()")
    6af954037962 ("x86/alternatives: Constify text_poke_addr()")
    0e67e587e2e0 ("x86/alternatives: Simplify text_poke_addr_ordered()")
    6e4955a9d73e ("x86/alternatives: Rename 'text_poke_sync()' to 'smp_text_poke_sync_each_cpu()'")
    7fbadb50d95a ("x86/alternatives: Move text_poke_array completion from smp_text_poke_batch_finish() and smp_text_poke_batch_flush() to smp_text_poke_batch_process()")
    cca3473956be ("x86/alternatives: Add documentation for smp_text_poke_batch_add()")
    9647ce465265 ("x86/alternatives: Document 'smp_text_poke_single()'")
    8a6a1b4e0ef1 ("x86/alternatives: Remove the mixed-patching restriction on smp_text_poke_single()")
    0e351aec2b00 ("x86/alternatives: Move the text_poke_array manipulation into text_poke_int3_loc_init() and rename it to __smp_text_poke_batch_add()")
    74e8e2bf950e ("x86/alternatives: Simplify smp_text_poke_batch_process()")
    8e35752f0c33 ("x86/alternatives: Simplify smp_text_poke_int3_handler()")
    b6a25841c171 ("x86/alternatives: Simplify try_get_text_poke_array()")
    3916eec5160d ("x86/alternatives: Rename 'put_desc()' to 'put_text_poke_array()'")
    46f3d9d329de ("x86/alternatives: Rename 'try_get_desc()' to 'try_get_text_poke_array()'")
    0494b16b9cae ("x86/alternatives: Remove the tp_vec indirection")
    6e7dc03aeeb5 ("x86/alternatives: Introduce 'struct smp_text_poke_array' and move tp_vec and tp_vec_nr to it")
    37725b64a991 ("x86/alternatives: Assert input parameters in smp_text_poke_batch_process()")
    476ad071c678 ("x86/alternatives: Assert that smp_text_poke_int3_handler() can only ever handle 'tp_vec[]' based requests")
    c8976ade0c1b ("x86/alternatives: Simplify smp_text_poke_single() by using tp_vec and existing APIs")
    eaa24c9177c8 ("x86/alternatives: Remove the 'addr == NULL means forced-flush' hack from smp_text_poke_batch_finish()/smp_text_poke_batch_flush()/text_poke_addr_ordered()")
    2d0cf10a1eb6 ("x86/alternatives: Use non-inverted logic instead of 'tp_order_fail()'")
    87836af1eafc ("x86/alternatives: Add text_mutex) assert to smp_text_poke_batch_flush()")
    3bd7546ff24e ("x86/alternatives: Rename 'int3_desc' to 'int3_vec'")
    a81d43c46e6e ("x86/alternatives: Rename 'struct text_poke_loc' to 'struct smp_text_poke_loc'")
    fb802d639340 ("x86/alternatives: Rename 'text_poke_loc_init()' to 'text_poke_int3_loc_init()'")
    732c7c33a0c1 ("x86/alternatives: Rename 'text_poke_queue()' to 'smp_text_poke_batch_add()'")
    e8d7b8c2bbcd ("x86/alternatives: Rename 'text_poke_finish()' to 'smp_text_poke_batch_finish()'")
    aedb60c2c66c ("x86/alternatives: Rename 'text_poke_flush()' to 'smp_text_poke_batch_flush()'")
    f5afa2e8efda ("x86/alternatives: Remove the confusing, inaccurate & unnecessary 'temp_mm_state_t' abstraction")
    5224f09a7b57 ("x86/alternatives: Update comments in int3_emulate_push()")
    762255b743b8 ("x86/alternatives: Remove duplicate 'text_poke_early()' prototype")
    e84c31b9c9ac ("x86/alternatives: Rename 'bp_desc' to 'int3_desc'")
    da364fc54789 ("x86/alternatives: Rename 'poking_addr' to 'text_poke_mm_addr'")
    a5c832e0476e ("x86/alternatives: Rename 'poking_mm' to 'text_poke_mm'")
    5236b6a0fe92 ("x86/alternatives: Rename 'poke_int3_handler()' to 'smp_text_poke_int3_handler()'")
    9586ae48e785 ("x86/alternatives: Rename 'text_poke_bp()' to 'smp_text_poke_single()'")
    bee4fcfbc128 ("x86/alternatives: Rename 'text_poke_bp_batch()' to 'smp_text_poke_batch_process()'")
    28fb79092d9f ("x86/alternatives: Rename 'bp_refs' to 'text_poke_array_refs'")
    84e5ba949b0a ("x86/alternatives: Rename 'struct bp_patching_desc' to 'struct text_poke_int3_vec'")
    d60e4b2410e1 ("x86/alternatives: Document the text_poke_bp_batch() synchronization rules a bit more")
    4334336e769b ("x86/alternatives: Improve code-patching scalability by removing false sharing in poke_int3_handler()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'timers/core'
Ingo Molnar [Mon, 12 May 2025 12:34:48 +0000 (14:34 +0200)]
Merge branch into tip/master: 'timers/core'

 # New commits in timers/core:
    2117c1d503b4 ("alarmtimer: Switch spin_{lock,unlock}_irqsave() to guards")
    d8ca84d48a2a ("alarmtimer: Remove dead return value in clock2alarm()")
    007c07168ac0 ("time/jiffies: Change register_refined_jiffies() to void __init")
    49916e22d953 ("timers: Remove unused __round_jiffies(_up)")
    0df6db767a53 ("posix-timers: Initialize cache early and move pointer into __timer_data")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'timers/cleanups'
Ingo Molnar [Mon, 12 May 2025 12:34:48 +0000 (14:34 +0200)]
Merge branch into tip/master: 'timers/cleanups'

 # New commits in timers/cleanups:
    aad823aa3a7d ("treewide, timers: Rename destroy_timer_on_stack() as timer_destroy_on_stack()")
    367ed4e35734 ("treewide, timers: Rename try_to_del_timer_sync() as timer_delete_sync_try()")
    751e6a394c2e ("timers: Rename init_timers() as timers_init()")
    220beffd36c2 ("timers: Rename NEXT_TIMER_MAX_DELTA as TIMER_NEXT_MAX_DELTA")
    9a716ac6eaaa ("timers: Rename __init_timer_on_stack() as __timer_init_on_stack()")
    9505215b6b32 ("timers: Rename __init_timer() as __timer_init()")
    7879d10de331 ("timers: Rename init_timer_on_stack_key() as timer_init_key_on_stack()")
    e86e43907f94 ("timers: Rename init_timer_key() as timer_init_key()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'sched/core'
Ingo Molnar [Mon, 12 May 2025 12:34:47 +0000 (14:34 +0200)]
Merge branch into tip/master: 'sched/core'

 # New commits in sched/core:
    b7ca5743a260 ("sched/core: Tweak wait_task_inactive() to force dequeue sched_delayed tasks")
    c70fc32f4443 ("sched/fair: Adhere to place_entity() constraints")
    44671e21e346 ("sched/debug: Print the local group's asym_prefer_cpu")
    8157fbc90745 ("cpufreq/amd-pstate: Update asym_prefer_cpu when core rankings change")
    0e3f6c369642 ("sched/topology: Introduce sched_update_asym_prefer_cpu()")
    872aa4de1888 ("sched/fair: Use READ_ONCE() to read sg->asym_prefer_cpu")
    6432e163ba1b ("sched/isolation: Make use of more than one housekeeping cpu")
    690e47d1403e ("sched/rt: Fix race in push_rt_task")
    0ab94c324274 ("sched: Add annotations to RT_GROUP_SCHED fields")
    87f1fb77d87a ("sched: Add RT_GROUP WARN checks for non-root task_groups")
    d6809c2f606c ("sched: Do not construct nor expose RT_GROUP_SCHED structures if disabled")
    277e0909754e ("sched: Bypass bandwitdh checks with runtime disabled RT_GROUP_SCHED")
    61d3164fec2e ("sched: Skip non-root task_groups with disabled RT_GROUP_SCHED")
    e34e0131fea1 ("sched: Add commadline option for RT_GROUP_SCHED toggling")
    a5a25b32c08a ("sched: Always initialize rt_rq's task_group")
    e285313f0848 ("sched: Remove unneeed macro wrap")
    433bce5dadb4 ("sched: Convert CONFIG_RT_GROUP_SCHED macros to code conditions")
    f2d650618bc7 ("sched/fair: Allow decaying util_est when util_avg > CPU capa")
    ce29a7da84cd ("sched/topology: Refinement to topology_span_sane speedup")
    f55dac1dafb3 ("sched/topology: improve topology_span_sane speed")
    8feb053d5319 ("sched: Fix trace_sched_switch(.prev_state)")
    3e816361e94a ("sched/tracepoints: Move and extend the sched_process_exit() tracepoint")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'perf/core'
Ingo Molnar [Mon, 12 May 2025 12:34:47 +0000 (14:34 +0200)]
Merge branch into tip/master: 'perf/core'

 # New commits in perf/core:
    881097c0549f ("perf: Fix confusing aux iteration")
    f400565faa50 ("perf: Remove too early and redundant CPU hotplug handling")
    d20eb2d5fe8f ("perf: Fix irq work dereferencing garbage")
    22d38babb3ad ("perf: Fix failing inherit_event() doing extra refcount decrement on parent")
    3e830f657f69 ("perf/x86: Optimize the is_x86_event")
    efd448540e62 ("perf/x86/intel: Check the X86 leader for ACR group")
    f51972e6f8b9 ("perf/core: Fix broken throttling when max_samples_per_tick=1")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'objtool/core'
Ingo Molnar [Mon, 12 May 2025 12:34:47 +0000 (14:34 +0200)]
Merge branch into tip/master: 'objtool/core'

 # New commits in objtool/core:
    2cb291596e2c ("objtool: Fix up st_info in COMDAT group section")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'locking/futex'
Ingo Molnar [Mon, 12 May 2025 12:34:46 +0000 (14:34 +0200)]
Merge branch into tip/master: 'locking/futex'

 # New commits in locking/futex:
    094ac8cff785 ("futex: Relax the rcu_assign_pointer() assignment of mm->futex_phash in futex_mm_init()")
    01475aedfdfa ("futex: Fix outdated comment in struct restart_block")
    9140f57c1c13 ("futex,selftests: Add another FUTEX2_NUMA selftest")
    3163369407ba ("selftests/futex: Add futex_numa_mpol")
    cda95faef7bc ("selftests/futex: Add futex_priv_hash")
    8b4a5c2497fa ("selftests/futex: Build without headers nonsense")
    60035a3981a7 ("tools/perf: Allow to select the number of hash buckets")
    f25051dce97c ("tools headers: Synchronize prctl.h ABI header")
    c042c505210d ("futex: Implement FUTEX2_MPOL")
    cec199c5e39b ("futex: Implement FUTEX2_NUMA")
    63e8595c060a ("futex: Allow to make the private hash immutable")
    bd54df5ea7ca ("futex: Allow to resize the private local hash")
    7c4f75a21f63 ("futex: Allow automatic allocation of process wide futex hash")
    80367ad01d93 ("futex: Add basic infrastructure for local task local hash")
    9a9bdfdd6873 ("futex: Create helper function to initialize a hash slot")
    b04b8f3032aa ("futex: Introduce futex_q_lockptr_lock()")
    fe00e88d217a ("futex: Decrease the waiter count before the unlock operation")
    3f6b233018af ("futex: Acquire a hash reference in futex_wait_multiple_setup()")
    d854e4e7850e ("futex: Create private_hash() get/put class")
    6c67f8d880c0 ("futex: Create futex_hash() get/put class")
    8486d12f558f ("futex: Create hb scopes")
    2fb292096d95 ("futex: Pull futex_hash() out of futex_q_lock()")
    93f1b6d79a73 ("futex: Move futex_queue() into futex_wait_setup()")
    55284f70134f ("mm: Add vmalloc_huge_node()")
    3efa66ce6ee1 ("rcuref: Provide rcuref_is_dead()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'locking/core'
Ingo Molnar [Mon, 12 May 2025 12:34:46 +0000 (14:34 +0200)]
Merge branch into tip/master: 'locking/core'

 # New commits in locking/core:
    cdb7d2d68cde ("locking/lockdep: Add number of dynamic keys to /proc/lockdep_stats")
    6a1a219f535a ("locking/lockdep: Prevent abuse of lockdep subclass")
    96ca1830e121 ("locking/lockdep: Move hlock_equal() to the respective #ifdeffery")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'irq/msi'
Ingo Molnar [Mon, 12 May 2025 12:34:46 +0000 (14:34 +0200)]
Merge branch into tip/master: 'irq/msi'

 # New commits in irq/msi:
    f1680d9081e1 ("irqchip/gic-v3-its: Add support for device tree msi-map and msi-mask")
    a6aed6b9c79e ("dt-bindings: PCI: pci-ep: Add support for iommu-map and msi-map")
    fd120c38fefd ("irqchip/gic-v3-its: Set IRQ_DOMAIN_FLAG_MSI_IMMUTABLE for ITS")
    b8c7bfb7a0f0 ("irqdomain: Add IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and irq_domain_is_msi_immutable()")
    9a958e1fd40d ("platform-msi: Add msi_remove_device_irq_domain() in platform_device_msi_free_irqs_all()")
    9357e329cdeb ("genirq/msi: Rename msi_[un]lock_descs()")
    e46a28cea29a ("scsi: ufs: qcom: Remove the MSI descriptor abuse")
    71296eae5887 ("PCI/TPH: Replace the broken MSI-X control word update")
    d5124a9957b2 ("PCI/MSI: Provide a sane mechanism for TPH")
    6552e90e2a23 ("PCI: hv: Switch MSI descriptor locking to guard()")
    891146645e5d ("PCI/MSI: Switch msix_capability_init() to guard(msi_desc_lock)")
    f11cc2af8f4b ("PCI/MSI: Switch msi_capability_init() to guard(msi_desc_lock)")
    5c0ba4f9d25e ("PCI/MSI: Use __free() for affinity masks")
    b0c44a5ec355 ("PCI/MSI: Set pci_dev:: Msi_enabled late")
    497f68cff621 ("PCI/MSI: Use guard(msi_desc_lock) where applicable")
    8f3315cf7e97 ("NTB/msi: Switch MSI descriptor locking to lock guard()")
    f25dd9ac4846 ("soc: ti: ti_sci_inta_msi: Switch MSI descriptor locking to guard()")
    0dac2b09303c ("genirq/msi: Use lock guards for MSI descriptor locking")
    092d00ead733 ("cleanup: Provide retain_and_null_ptr()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'irq/drivers'
Ingo Molnar [Mon, 12 May 2025 12:34:45 +0000 (14:34 +0200)]
Merge branch into tip/master: 'irq/drivers'

 # New commits in irq/drivers:
    15568ffd59d4 ("irqchip/irq-vt8500: Switch to irq_domain_create_*()")
    85cf5c63d32f ("irqchip/econet-en751221: Switch to irq_domain_create_linear()")
    99ad153fbd22 ("irqchip/irq-vt8500: Use fewer global variables and add error handling")
    49f92d3859cd ("irqchip/irq-vt8500: Use a dedicated chained handler function")
    54a1f3eb89de ("irqchip/irq-vt8500: Don't require 8 interrupts from a chained controller")
    45453df7f69b ("irqchip/irq-vt8500: Drop redundant copy of the device node pointer")
    22111fdf1166 ("irqchip/irq-vt8500: Split up ack/mask functions")
    76b66e8c9d15 ("irqchip/sg2042-msi: Fix wrong type cast in sg2044_msi_irq_ack()")
    e96b93a97c90 ("irqchip/sg2042-msi: Add the Sophgo SG2044 MSI interrupt controller")
    bad2094e3b1c ("irqchip/sg2042-msi: Introduce configurable chipinfo for SG2042")
    bced55494c23 ("irqchip/sg2042-msi: Rename functions and data structures to be SG2042 agnostic")
    9fe5a0790af6 ("dt-bindings: interrupt-controller: Add Sophgo SG2044 MSI controller")
    771487050f83 ("genirq/generic-chip: Fix incorrect lock guard conversions")
    7ae844a6650c ("genirq/generic-chip: Remove unused lock wrappers")
    b00bee8afaca ("irqchip: Convert generic irqchip locking to guards")
    9949aec666eb ("gpio: mvebu: Convert generic irqchip locking to guard()")
    73989a38268d ("ARM: orion/gpio:: Convert generic irqchip locking to guard()")
    b54bd5a29b42 ("soc: dove: Convert generic irqchip locking to guard()")
    195298c3b116 ("genirq/generic-chip: Convert core code to lock guards")
    06f2f68a670a ("genirq/generic-chip: Make locking unconditional")
    1902a59cf5f9 ("irqchip: Add EcoNet EN751221 INTC")
    9773c540441c ("dt-bindings: interrupt-controller: Add EcoNet EN751221 INTC")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'irq/core'
Ingo Molnar [Mon, 12 May 2025 12:34:45 +0000 (14:34 +0200)]
Merge branch into tip/master: 'irq/core'

 # New commits in irq/core:
    c1ab449df871 ("genirq: Fix inverted condition in handle_nested_irq()")
    c85550625706 ("genirq/cpuhotplug: Fix up lock guards conversion brainf..t")
    97f4b999e0c8 ("genirq: Use scoped_guard() to shut clang up")
    aefc11550ebd ("genirq: Remove unused remove_percpu_irq()")
    104361217c2a ("genirq: Remove irq_[get|put]_desc*()")
    193879e28be7 ("genirq/manage: Rework irq_set_irqchip_state()")
    782249a99747 ("genirq/manage: Rework irq_get_irqchip_state()")
    5fec6d5cd24a ("genirq/manage: Rework teardown_percpu_nmi()")
    65dd1f7ca94f ("genirq/manage: Rework prepare_percpu_nmi()")
    8e3f672b1949 ("genirq/manage: Rework disable_percpu_irq()")
    b171f712d6ef ("genirq/manage: Rework irq_percpu_is_enabled()")
    508bd94c3ad4 ("genirq/manage: Rework enable_percpu_irq()")
    90140d08ac7a ("genirq/manage: Rework irq_set_parent()")
    a1ceb831417b ("genirq/manage: Rework can_request_irq()")
    8589e325ba4f ("genirq/manage: Rework irq_set_irq_wake()")
    bddd10c55407 ("genirq/manage: Rework enable_irq()")
    1b7444446724 ("genirq/manage: Rework __disable_irq_nosync()")
    55ac0ad22fec ("genirq/manage: Rework irq_set_vcpu_affinity()")
    7e04e5c6f615 ("genirq/manage: Rework __irq_apply_affinity_hint()")
    b0561582ea1e ("genirq/manage: Rework irq_update_affinity_desc()")
    17c1953567eb ("genirq/manage: Convert to lock guards")
    0c169edf3607 ("genirq/manage: Cleanup kernel doc comments")
    95a3645893bc ("genirq/chip: Rework irq_modify_status()")
    5cd05f3e2315 ("genirq/chip: Rework irq_set_handler() variants")
    b3801ddc6883 ("genirq/chip: Rework irq_set_chip_data()")
    c836e5a70c59 ("genirq/chip: Rework irq_set_msi_desc_off()")
    321a0fdf1337 ("genirq/chip: Rework irq_set_handler_data()")
    fa870e0f3551 ("genirq/chip: Rework irq_set_irq_type()")
    46ff4d11f081 ("genirq/chip: Rework irq_set_chip()")
    e7c654255791 ("genirq/chip: Use lock guards where applicable")
    f71d7c45edad ("genirq/chip: Rework handle_fasteoi_mask_irq()")
    2beb01cbb75e ("genirq/chip: Rework handle_fasteoi_ack_irq()")
    2d46aea52c02 ("genirq/chip: Rework handle_edge_irq()")
    15d772e2eebd ("genirq/chip: Rework handle_eoi_irq()")
    2334c4552103 ("genirq/chip: Rework handle_level_irq()")
    a155777175bb ("genirq/chip: Rework handle_untracked_irq()")
    1a3678675f69 ("genirq/chip: Rework handle_simple_irq()")
    2ef2e13094c7 ("genirq/chip: Rework handle_nested_irq()")
    a6d8d0d12e19 ("genirq/chip: Prepare for code reduction")
    ecb84a3e7e7c ("genirq/debugfs: Convert to lock guards")
    88a4df117ad6 ("genirq/cpuhotplug: Convert to lock guards")
    113332a86553 ("genirq/spurious: Switch to lock guards")
    e815ffc759fb ("genirq/spurious: Cleanup code")
    659ff9c9d77b ("genirq/proc: Switch to lock guards")
    4bcdf07467fa ("genirq/resend: Switch to lock guards")
    19b4b1442833 ("genirq/pm: Switch to lock guards")
    e80618b27a00 ("genirq/autoprobe: Switch to lock guards")
    5d964a9f7cd8 ("genirq/irqdesc: Switch to lock guards")
    0f70a49f3fa3 ("genirq: Provide conditional lock guards")
    e5032ead8599 ("genirq/irqdesc: Decrease indentation level in __irq_get_desc_lock()")
    0128816c42b5 ("genirq: Fix typo in IRQ_NOTCONNECTED comment")
    41c95ac48394 ("genirq/irqdesc: Use sysfs_emit() to instead of s*printf()")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'irq/cleanups'
Ingo Molnar [Mon, 12 May 2025 12:34:44 +0000 (14:34 +0200)]
Merge branch into tip/master: 'irq/cleanups'

 # New commits in irq/cleanups:
    c63e393a16c9 ("irqdomain: Consolidate coding style")
    e0de777349a3 ("irqdomain: Fix kernel-doc and add it to Documentation")
    6fd30ec3e6c4 ("Documentation: irqdomain: Update it")
    31395072ee01 ("Documentation: irq-domain.rst: Simple improvements")
    809997b2b2d1 ("Documentation: irq/concepts: Minor improvements")
    55ec529a4e41 ("Documentation: irq/concepts: Add commas and reflow")
    ece27dde1fe1 ("irqdomain: Improve kernel-docs of functions")
    91854572f918 ("irqdomain: Make struct irq_domain_info variables const")
    d42b432f05c2 ("irqdomain: Use irq_domain_instantiate()'s return value as initializers")
    4d90cc80aa1f ("irqdomain: Drop irq_linear_revmap()")
    377c6a8184bd ("pinctrl: keembay: Switch to irq_find_mapping()")
    3a6a7c4537e6 ("irqchip/armada-370-xp: Switch to irq_find_mapping()")
    76f5c9a3fac4 ("gpu: ipu-v3: Switch to irq_find_mapping()")
    0b2f024f813c ("gpio: idt3243x: Switch to irq_find_mapping()")
    6bd9b88a4b78 ("sh: Switch to irq_find_mapping()")
    36a0d76d23f9 ("powerpc: Switch to irq_find_mapping()")
    769f0f0a511a ("irqdomain: Drop irq_domain_add_*() functions")
    2842da7b2b13 ("_PATCH_v2_39_57_irqdomain_ppc_Switch_irq_domain_add_nomap_to_use_fwnode")
    b17e8638c1e5 ("thermal: Switch to irq_domain_create_linear()")
    327da7eb6770 ("soc: Switch to irq_domain_create_*()")
    2e38bfc2ca8c ("sh: Switch to irq_domain_create_*()")
    798c3754138b ("powerpc: Switch to irq_domain_create_*()")
    1de046e6f09e ("pinctrl: Switch to irq_domain_create_*()")
    bbc94e6f72f2 ("PCI: Switch to irq_domain_create_linear()")
    c7d6eaae6009 ("nios2: Switch to irq_domain_create_linear()")
    7803d23934b5 ("net: Switch to irq_domain_create_*()")
    357f043f36b1 ("misc: hi6421-spmi-pmic: Switch to irq_domain_create_simple()")
    080d3fa241f9 ("MIPS: Switch to irq_domain_create_*()")
    e3d44f11da04 ("mfd: Switch to irq_domain_create_*()")
    091b1d92f807 ("memory: omap-gpmc: Switch to irq_domain_create_linear()")
    cecd821793e4 ("mailbox: qcom-ipcc: Switch to irq_domain_create_tree()")
    5817511a8304 ("irqchip: Switch to irq_domain_create_*()")
    b05c04edb4f8 ("iio: Switch to irq_domain_create_simple()")
    417e5bf87998 ("i2c: Switch to irq_domain_create_linear()")
    cd9910d1e871 ("gpu: Switch to irq_domain_create_linear()")
    02226c57602d ("gpio: Switch to irq_domain_create_*()")
    137c278c39e8 ("EDAC/altera: Switch to irq_domain_create_linear()")
    14eb9e3d0bb9 ("bus: moxtet: Switch to irq_domain_create_simple()")
    e848923ad13b ("ARM: Switch to irq_domain_create_*()")
    8afd2253df98 ("ARC: Switch to irq_domain_create_linear()")
    0b8018a1333c ("irqdomain: Make irq_domain_create_hierarchy() an inline")
    64e4d6531065 ("irqdomain: Drop of_node_to_fwnode()")
    bd7833adad50 ("x86/io_apic: Switch to of_fwnode_handle()")
    c8795085c70a ("powerpc: Switch to of_fwnode_handle()")
    1e5b6bfd7f57 ("irqchip: Switch to of_fwnode_handle()")
    fdc348121f24 ("irqdomain: pci: Switch to of_fwnode_handle()")
    0a02e1f4a54a ("irqdomain: Support three-cell scheme interrupts")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'core/entry'
Ingo Molnar [Mon, 12 May 2025 12:34:44 +0000 (14:34 +0200)]
Merge branch into tip/master: 'core/entry'

 # New commits in core/entry:
    8278fd6006a0 ("LoongArch: entry: Fix include order")
    e43b8bb56e53 ("entry: Inline syscall_exit_to_user_mode()")
    7ace1602abf2 ("LoongArch: entry: Migrate ret_from_fork() to C")
    5b3d6103b343 ("riscv: entry: Split ret_from_fork() into user and kernel")
    f955aa8723a6 ("riscv: entry: Convert ret_from_fork() to C")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'perf/merge'
Ingo Molnar [Mon, 12 May 2025 12:34:44 +0000 (14:34 +0200)]
Merge branch into tip/master: 'perf/merge'

 # New commits in perf/merge:
    2492e5aba2be ("perf/x86/amd/uncore: Prevent UMC counters from saturating")
    e1ed37b70fb3 ("perf/x86/amd/uncore: Add parameter to configure hrtimer")
    6d937e044bc9 ("perf/x86/amd/uncore: Use hrtimer for handling overflows")
    05c9b0cbe4b8 ("perf/x86/intel/uncore: Use HRTIMER_MODE_HARD for detecting overflows")
    4f81cc2d1bf9 ("perf/x86/amd/uncore: Remove unused 'struct amd_uncore_ctx::node' member")
    fe8e5a3215cc ("selftests/bpf: Add 5-byte NOP uprobe trigger benchmark")
    610f6e14c29d ("uprobes/x86: Add support to emulate NOP instructions")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/merge'
Ingo Molnar [Mon, 12 May 2025 12:34:43 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/merge'

 # New commits in x86/merge:
    502ad6e5a619 ("x86/msr: Change the function type of native_read_msr_safe()")
    444b46a128cc ("x86/msr: Replace wrmsr(msr, low, 0) with wrmsrq(msr, low)")
    0c2678efed6c ("x86/pvops/msr: Refactor pv_cpu_ops.write_msr{,_safe}()")
    2b7e25301c54 ("x86/xen/msr: Remove the error pointer argument from set_seg()")
    f7998621db69 ("x86/xen/msr: Remove pmu_msr_{read,write}()")
    0cb6f4128a7d ("x86/xen/msr: Remove calling native_{read,write}_msr{,_safe}() in pmu_msr_{read,write}()")
    3204877d05ca ("x86/msr: Convert __rdmsr() uses to native_rdmsrq() uses")
    ed56a309f7e1 ("x86/msr: Add the native_rdmsrq() helper")
    519be7da37b9 ("x86/msr: Convert __wrmsr() uses to native_wrmsr{,q}() uses")
    5afa4cf54518 ("x86/xen/msr: Return u64 consistently in Xen PMC xen_*_read functions")
    795ada52875f ("x86/msr: Convert the rdpmc() macro to an __always_inline function")
    7d9ccde56bc0 ("x86/msr: Rename rdpmcl() to rdpmc()")
    91882511ef90 ("x86/msr: Remove the unused rdpmc() method")
    288a4ff0ad29 ("x86/msr: Move rdtsc{,_ordered}() to <asm/tsc.h>")
    efef7f184f2e ("x86/msr: Add explicit includes of <asm/msr.h>")
    bdfda83a6b59 ("x86/msr: Move the EAX_EDX_*() methods from <asm/msr.h> to <asm/asm.h>")
    c9d8ea9d53d4 ("x86/msr: Rename DECLARE_ARGS() to EAX_EDX_DECLARE_ARGS")
    76deb5452e79 ("x86/msr: Improve the comments of the DECLARE_ARGS()/EAX_EDX_VAL()/EAX_EDX_RET() facility")
    1f4bb068b498 ("x86/bugs: Restructure SRSO mitigation")
    d43ba2dc8eee ("x86/bugs: Restructure L1TF mitigation")
    5ece59a2fca6 ("x86/bugs: Restructure SSB mitigation")
    480e803dacf8 ("x86/bugs: Restructure spectre_v2 mitigation")
    efe313827c98 ("x86/bugs: Restructure BHI mitigation")
    ddfca9430a61 ("x86/bugs: Restructure spectre_v2_user mitigation")
    e3b78a7ad5ea ("x86/bugs: Restructure retbleed mitigation")
    83d4b19331f3 ("x86/bugs: Allow retbleed=stuff only on Intel")
    46d5925b8eb8 ("x86/bugs: Restructure spectre_v1 mitigation")
    9dcad2fb31bd ("x86/bugs: Restructure GDS mitigation")
    2178ac58e176 ("x86/bugs: Restructure SRBDS mitigation")
    6f0960a760eb ("x86/bugs: Remove md_clear_*_mitigation()")
    203d81f8e167 ("x86/bugs: Restructure RFDS mitigation")
    4a5a04e61d7f ("x86/bugs: Restructure MMIO mitigation")
    bdd7fce7a816 ("x86/bugs: Restructure TAA mitigation")
    559c758bc722 ("x86/bugs: Restructure MDS mitigation")
    18ea89eae404 ("x86/sev: Share the sev_secrets_pa value again")
    121c335b36e0 ("x86/boot: Disable jump tables in PIC code")
    ff4c0560ab02 ("x86/asm: Retire RIP_REL_REF()")
    681e2901330c ("x86/boot: Drop RIP_REL_REF() uses from early SEV code")
    a3cbbb4717e1 ("x86/boot: Move SEV startup code into startup/")
    234cf67fc3bd ("x86/sev: Split off startup code from core code")
    b66fcee1574e ("x86/sev: Move noinstr NMI handling code into separate source file")
    092071e0f63c ("vmlinux.lds: Include .data.rel[.local] into .data section")
    0dcc51477b94 ("x86/boot: Remove semicolon from "rep" prefixes")
    eaa607deb29e ("x86/mm: Remove now unused SHARED_KERNEL_PMD")
    99b8f0c54f57 ("x86/mm: Remove duplicated PMD preallocation macro")
    454e65b4fb38 ("x86/mm: Preallocate all PAE page tables")
    82f120010f3b ("x86/mm: Fix up comments around PMD preallocation")
    45fb940563f8 ("x86/mm: Simplify PAE PGD sharing macros")
    eb9c7f00f22d ("x86/mm: Always tell core mm to sync kernel mappings")
    b0cc4d19f198 ("x86/mm: Always "broadcast" PMD setting operations")
    780f97e30930 ("x86/mm: Always allocate a whole page for PAE PGDs")
    4a3fd13054a9 ("perf/x86/intel: Introduce pairs of PEBS static calls")
    acb727e0956a ("perf/x86/intel: Rename x86_pmu.pebs to x86_pmu.ds_pebs")
    d971342d38bf ("perf/x86/intel: Decouple BTS initialization from PEBS initialization")
    25c623f41438 ("perf/x86/intel: Parse CPUID archPerfmonExt leaves for non-hybrid CPUs")
    48d66c89dce1 ("perf/x86/intel: Add PMU support for Clearwater Forest")
    b02b41c827de ("perf/core: Fix event timekeeping merge")
    162c9e3faf58 ("perf/core: Fix event->parent life-time issue")
    2839f393c694 ("perf/core: Fix put_ctx() ordering")
    f6938a562a62 ("perf/core: Fix perf-stat / read()")
    498cb872a111 ("x86/boot/startup: Disable LTO for the startup code")
    d9b79111fd99 ("x86/bugs: Rename mmio_stale_data_clear to cpu_buf_vm_clear")
    3aba0b40cacd ("x86/cpufeatures: Shorten X86_FEATURE_AMD_HETEROGENEOUS_CORES")
    13327fada7ff ("x86/cpufeatures: Shorten X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT")
    282cc5b67623 ("x86/cpufeatures: Clean up formatting")
    dd86a1d013e0 ("x86/bugs: Remove X86_BUG_MMIO_UNKNOWN")
    9fb6938d5534 ("x86/cpuid: Align macro linebreaks vertically")
    0a35c9280a91 ("x86/platform/amd: Move the <asm/amd_node.h> header to <asm/amd/node.h>")
    5bb144e52c66 ("x86/platform/amd: Clean up the <asm/amd/hsmp.h> header guards a bit")
    d96c78684166 ("x86/platform/amd: Move the <asm/amd_hsmp.h> header to <asm/amd/hsmp.h>")
    bcbb65559532 ("x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h>")
    861c6b1185fb ("x86/platform/amd: Add standard header guards to <asm/amd/ibs.h>")
    3846389c03a8 ("x86/platform/amd: Move the <asm/amd-ibs.h> header to <asm/amd/ibs.h>")
    e3a52b67f54a ("x86/fpu: Clarify FPU context cacheline alignment")
    8b2a7a7294b3 ("x86/fpu: Use 'fpstate' variable names consistently")
    22aafe3bcb67 ("x86/fpu: Remove init_task FPU state dependencies, add debugging warning for PF_KTHREAD tasks")
    c360bdc593b8 ("x86/fpu: Make sure x86_task_fpu() doesn't get called for PF_KTHREAD|PF_USER_WORKER tasks during exit")
    ec2227e03a46 ("x86/fpu: Push 'fpu' pointer calculation into the fpu__drop() call")
    55bc30f2e34d ("x86/fpu: Remove the thread::fpu pointer")
    cb7ca40a3882 ("x86/fpu: Make task_struct::thread constant size")
    e3bfa3859936 ("x86/fpu: Convert task_struct::thread.fpu accesses to use x86_task_fpu()")
    77fbccede633 ("x86/fpu: Introduce the x86_task_fpu() helper method")
    cbe8e4dab16c ("x86/fpu/xstate: Adjust xstate copying logic for user ABI")
    a758ae2885ea ("x86/fpu/xstate: Adjust XSAVE buffer size calculation")
    15d51a2f6f3f ("x86/fpu/xstate: Introduce xfeature order table and accessor macro")
    031b33ef1a6a ("x86/fpu/xstate: Remove xstate offset check")
    5c3627b6f059 ("perf/x86/intel/bts: Replace offsetof() with struct_size()")
    a5447e92e169 ("x86/msr: Add compatibility wrappers for rdmsrl()/wrmsrl()")
    221df25fdf82 ("x86/sev: Prepare for splitting off early SEV code")
    bee174b27e54 ("x86/boot: Drop RIP_REL_REF() uses from SME startup code")
    7ae089ee75f3 ("x86/boot: Move early SME init code into startup/")
    dafb26f4271b ("x86/boot: Drop RIP_REL_REF() uses from early mapping code")
    dbe0ad775cbb ("x86/boot: Move early kernel mapping code into startup/")
    4cecebf200ef ("x86/boot: Move the early GDT/IDT setup code into startup/")
    bcceba3c72c0 ("x86/asm: Make rip_rel_ptr() usable from fPIC code")
    62e565273993 ("x86/cacheinfo: Standardize header files and CPUID references")
    718f9038acc5 ("x86/cpuid: Remove obsolete CPUID(0x2) iteration macro")
    eef476f15c83 ("x86/msr: Rename 'wrmsrl_cstar()' to 'wrmsrq_cstar()'")
    7cbc2ba7c107 ("x86/msr: Rename 'native_wrmsrl()' to 'native_wrmsrq()'")
    604d15d15ebd ("x86/msr: Rename 'wrmsrl_amd_safe()' to 'wrmsrq_amd_safe()'")
    e2b8af0c6939 ("x86/msr: Rename 'rdmsrl_amd_safe()' to 'rdmsrq_amd_safe()'")
    8e44e83f57c3 ("x86/msr: Rename 'mce_wrmsrl()' to 'mce_wrmsrq()'")
    ebe29309c4d2 ("x86/msr: Rename 'mce_rdmsrl()' to 'mce_rdmsrq()'")
    c895ecdab2e4 ("x86/msr: Rename 'wrmsrl_on_cpu()' to 'wrmsrq_on_cpu()'")
    d7484babd2c4 ("x86/msr: Rename 'rdmsrl_on_cpu()' to 'rdmsrq_on_cpu()'")
    27a23a544a55 ("x86/msr: Rename 'wrmsrl_safe_on_cpu()' to 'wrmsrq_safe_on_cpu()'")
    5e404cb7ac4c ("x86/msr: Rename 'rdmsrl_safe_on_cpu()' to 'rdmsrq_safe_on_cpu()'")
    6fa17efe4544 ("x86/msr: Rename 'wrmsrl_safe()' to 'wrmsrq_safe()'")
    6fe22abacd40 ("x86/msr: Rename 'rdmsrl_safe()' to 'rdmsrq_safe()'")
    78255eb23973 ("x86/msr: Rename 'wrmsrl()' to 'wrmsrq()'")
    c435e608cf59 ("x86/msr: Rename 'rdmsrl()' to 'rdmsrq()'")
    d58c04cf1d70 ("x86/msr: Standardize on 'u32' MSR indices in <asm/msr.h>")
    d8f8aad698b8 ("x86/msr: Harmonize the prototype and definition of do_trace_rdpmc()")
    cd905826cbc8 ("x86/msr: Use u64 in rdmsrl_safe() and paravirt_read_pmc()")
    73bd1e01e98e ("x86/msr: Use u64 in rdmsrl_amd_safe() and wrmsrl_amd_safe()")
    f4138de5e41f ("x86/msr: Standardize on u64 in <asm/msr-index.h>")
    dfe2574ce87e ("x86/msr: Standardize on u64 in <asm/msr.h>")
    35c3151a98a6 ("x86/mm: Consolidate initmem_init()")
    60567e93c05d ("selftests/x86/lam: Fix clean up fds in do_uring() and allocate_dsa_pasid()")
    d02c83d75f9f ("x86/cacheinfo: Properly parse CPUID(0x80000006) L2/L3 associativity")
    d274cde0dbe0 ("x86/cacheinfo: Properly parse CPUID(0x80000005) L1d/L1i associativity")
    1734d98fbcce ("perf/arch: Record sample last_period before updating on the x86 and PowerPC platforms")
    3256a83335a4 ("perf/x86/intel/bts: Rename local bts_buffer variables for clarity")
    d9fa398fe827 ("x86/boot/startup: Disable objtool validation for library code")
    ec980e4facef ("perf/x86/intel: Support auto counter reload")
    1856c6c2f841 ("perf/x86/intel: Add CPUID enumeration for the auto counter reload")
    c9449c8506a5 ("perf: Extend the bit width of the arch-specific flag")
    0a6557938d8f ("perf/x86/intel: Track the num of events needs late setup")
    4dfe3232cc04 ("perf/x86: Add dynamic constraint")
    da916e96e2de ("perf: Make perf_pmu_unregister() useable")
    4da0600edae1 ("perf: Rename perf_event_exit_task(.child)")
    90661365021a ("perf: Unify perf_event_free_task() / perf_event_exit_task_context()")
    3e8671e00e57 ("perf: Simplify perf_event_release_kernel()")
    59f3aa4a3ee2 ("perf: Simplify perf_event_free_task() wait")
    0a00a43b8c20 ("perf: Simplify child event tear-down")
    7ed9138a7282 ("perf: Ensure bpf_perf_link path is properly serialized")
    4f2d1bbc2c92 ("x86/boot: Move the EFI mixed mode startup code back under arch/x86, into startup/")
    5a67da1f49cf ("x86/boot: Move the 5-level paging trampoline into /startup")
    5d4456fc88f7 ("x86/boot/compressed: Merge the local pgtable.h include into <asm/boot.h>")
    0ee07a079202 ("x86/boot: Use __ALIGN_KERNEL_MASK() instead of open coded analogue")
    e37aa1211fbf ("x86/cpuid: Add AMX and SPEC_CTRL dependencies")
    fc1cd60042b3 ("x86/idle: Use MONITOR and MWAIT mnemonics in <asm/mwait.h>")
    a17b37a3f416 ("x86/idle: Change arguments of mwait_idle_with_hints() to u32")
    2fb34b1566a3 ("x86/tlb: Simplify choose_new_asid() and generate better code")
    a72d55dc3bd6 ("x86/idle: Remove CONFIG_AS_TPAUSE")
    19c3dcd953bc ("x86/idle: Remove .s output beautifying delimiters from simpler asm() templates")
    1ae899e41310 ("x86/idle: Standardize argument types for MONITOR{,X} and MWAIT{,X} instruction wrappers on 'u32'")
    1f13c60d84e8 ("x86/idle: Remove MFENCEs for X86_BUG_CLFLUSH_MONITOR in mwait_idle_with_hints() and prefer_mwait_c1_over_halt()")
    1701771d3069 ("x86/mm: Stop prefetching current->mm->mmap_lock on page faults")
    2b00d9031e42 ("x86/mm: Simplify the pgd_leaf() and p4d_leaf() checks a bit")
    c083eff324ed ("x86/mm: Remove the arch-specific p4d_leaf() definition")
    b0510ac74e18 ("x86/mm: Remove the arch-specific pgd_leaf() definition")
    0dd09e215a39 ("x86/cacheinfo: Apply maintainer-tip coding style fixes")
    6c963c42fc19 ("x86/cacheinfo: Introduce cpuid_amd_hygon_has_l3_cache()")
    eeeebc4fc642 ("x86/cacheinfo: Relocate CPUID leaf 0x4 cache_type mapping")
    05d48035e5f6 ("x86/cacheinfo: Extract out cache self-snoop checks")
    fda5f817ae41 ("x86/cacheinfo: Extract out cache level topology ID calculation")
    66122616e212 ("x86/cacheinfo: Separate Intel CPUID leaf 0x4 handling")
    5adfd367589c ("x86/cacheinfo: Separate CPUID leaf 0x2 handling and post-processing logic")
    4772304ee651 ("x86/cpu: Use consolidated CPUID leaf 0x2 descriptor table")
    da23a6259844 ("x86/cacheinfo: Use consolidated CPUID leaf 0x2 descriptor table")
    37aedb806bc6 ("x86/cpu: Consolidate CPUID leaf 0x2 tables")
    543904cdfe1e ("x86/cpu: Use enums for TLB descriptor types")
    e1e6b5714655 ("x86/cacheinfo: Use enums for cache descriptor types")
    7596ab7a107b ("x86/cacheinfo: Clarify type markers for CPUID leaf 0x2 cache descriptors")
    eb1c7c08c5a8 ("x86/cacheinfo: Rename 'struct _cpuid4_info_regs' to 'struct _cpuid4_info'")
    2d56cc872250 ("x86/cacheinfo: Separate Intel and AMD CPUID leaf 0x4 code paths")
    071f4ad6494a ("x86/cacheinfo: Use sysfs_emit() for sysfs attributes show()")
    365e960d296e ("x86/cacheinfo: Move AMD cache_disable_0/1 handling to separate file")
    c58ed2d4da8d ("x86/cacheinfo: Separate amd_northbridge from _cpuid4_info_regs")
    77676e6802a1 ("x86/cacheinfo: Consolidate AMD/Hygon leaf 0x8000001d calls")
    1374ff60ed0d ("x86/cacheinfo: Standardize _cpuid4_info_regs instance naming")
    036a73b51744 ("x86/cacheinfo: Align ci_info_init() assignment expressions")
    7b83e0d2b20b ("x86/cacheinfo: Constify _cpuid4_info_regs instances")
    cf8758205264 ("x86/cacheinfo: Use proper name for cacheinfo instances")
    21e2a452dca3 ("x86/cacheinfo: Properly name amd_cpuid4()'s first parameter")
    ee159792a4db ("x86/cacheinfo: Refactor CPUID leaf 0x2 cache descriptor lookup")
    a078aaa38a23 ("x86/cacheinfo: Use CPUID leaf 0x2 parsing helpers")
    fe78079ec07f ("x86/cpu: Introduce and use CPUID leaf 0x2 parsing helpers")
    09a1da4beb31 ("x86/cacheinfo: Remove CPUID leaf 0x2 parsing loop")
    b5969494c8d8 ("x86/cpu: Remove CPUID leaf 0x2 parsing loop")
    0efb4dc3b084 ("MAINTAINERS: Include the entire kcpuid/ directory under the X86 CPUID DATABASE entry")
    300ba891418a ("tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.3")
    5e0c3c5e95f0 ("tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.2")
    f5e7fd685796 ("tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.1")
    e1dde2f5a4ef ("tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.0")
    87669e74d848 ("tools/x86/kcpuid: Define Transmeta and Centaur index ranges")
    72383c8274ed ("tools/x86/kcpuid: Filter valid CPUID ranges")
    74d29127f830 ("tools/x86/kcpuid: Consolidate index validity checks")
    f2e2efe9489d ("tools/x86/kcpuid: Extend CPUID index mask macro")
    3151ec059dd1 ("tools/x86/kcpuid: Refactor CPUID range handling for future expansion")
    c479a84488d1 ("tools/x86/kcpuid: Use <cpuid.h> intrinsics")
    0a8f12ccd2e6 ("tools/x86/kcpuid: Use C99-style for loops")
    8984cea5c474 ("tools/x86/kcpuid: Set parse_line() return type to void")
    2b383ca0896f ("tools/x86/kcpuid: Remove unused global variable")
    c061ded035b5 ("tools/x86/kcpuid: Remove unused local variable")
    ce61b6067d8c ("tools/x86/kcpuid: Print correct CPUID output register names")
    6bef74cab03a ("tools/x86/kcpuid: Save CPUID output in an array")
    660c29fe53de ("tools/x86/kcpuid: Simplify usage() handling")
    a866a6775793 ("tools/x86/kcpuid: Exit the program on invalid parameters")
    116edfe173d0 ("tools/x86/kcpuid: Fix error handling")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMerge branch into tip/master: 'x86/urgent'
Ingo Molnar [Mon, 12 May 2025 12:34:43 +0000 (14:34 +0200)]
Merge branch into tip/master: 'x86/urgent'

 # New commits in x86/urgent:
    386cd3dcfd63 ("MAINTAINERS: Update Alexey Makhalov's email address")
    f7387eff4bad ("x86/sev: Fix operator precedence in GHCB_MSR_VMPL_REQ_LEVEL macro")

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 months agoMAINTAINERS: Update Alexey Makhalov's email address
Alexey Makhalov [Tue, 18 Mar 2025 00:40:31 +0000 (00:40 +0000)]
MAINTAINERS: Update Alexey Makhalov's email address

Fix a typo in an email address.

Closes: https://lore.kernel.org/all/20240925-rational-succinct-vulture-cca9fb@lemur/T/
Reported-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Reported-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Alexey Makhalov <alexey.makhalov@broadcom.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/20250318004031.2703923-1-alexey.makhalov@broadcom.com
2 months agoLinux 6.15-rc6
Linus Torvalds [Sun, 11 May 2025 21:54:11 +0000 (14:54 -0700)]
Linux 6.15-rc6

2 months agoMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Linus Torvalds [Sun, 11 May 2025 18:30:13 +0000 (11:30 -0700)]
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Paolo Bonzini:
 "ARM:

   - Avoid use of uninitialized memcache pointer in user_mem_abort()

   - Always set HCR_EL2.xMO bits when running in VHE, allowing
     interrupts to be taken while TGE=0 and fixing an ugly bug on
     AmpereOne that occurs when taking an interrupt while clearing the
     xMO bits (AC03_CPU_36)

   - Prevent VMMs from hiding support for AArch64 at any EL virtualized
     by KVM

   - Save/restore the host value for HCRX_EL2 instead of restoring an
     incorrect fixed value

   - Make host_stage2_set_owner_locked() check that the entire requested
     range is memory rather than just the first page

  RISC-V:

   - Add missing reset of smstateen CSRs

  x86:

   - Forcibly leave SMM on SHUTDOWN interception on AMD CPUs to avoid
     causing problems due to KVM stuffing INIT on SHUTDOWN (KVM needs to
     sanitize the VMCB as its state is undefined after SHUTDOWN,
     emulating INIT is the least awful choice).

   - Track the valid sync/dirty fields in kvm_run as a u64 to ensure KVM
     KVM doesn't goof a sanity check in the future.

   - Free obsolete roots when (re)loading the MMU to fix a bug where
     pre-faulting memory can get stuck due to always encountering a
     stale root.

   - When dumping GHCB state, use KVM's snapshot instead of the raw GHCB
     page to print state, so that KVM doesn't print stale/wrong
     information.

   - When changing memory attributes (e.g. shared <=> private), add
     potential hugepage ranges to the mmu_invalidate_range_{start,end}
     set so that KVM doesn't create a shared/private hugepage when the
     the corresponding attributes will become mixed (the attributes are
     commited *after* KVM finishes the invalidation).

   - Rework the SRSO mitigation to enable BP_SPEC_REDUCE only when KVM
     has at least one active VM. Effectively BP_SPEC_REDUCE when KVM is
     loaded led to very measurable performance regressions for non-KVM
     workloads"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: SVM: Set/clear SRSO's BP_SPEC_REDUCE on 0 <=> 1 VM count transitions
  KVM: arm64: Fix memory check in host_stage2_set_owner_locked()
  KVM: arm64: Kill HCRX_HOST_FLAGS
  KVM: arm64: Properly save/restore HCRX_EL2
  KVM: arm64: selftest: Don't try to disable AArch64 support
  KVM: arm64: Prevent userspace from disabling AArch64 support at any virtualisable EL
  KVM: arm64: Force HCR_EL2.xMO to 1 at all times in VHE mode
  KVM: arm64: Fix uninitialized memcache pointer in user_mem_abort()
  KVM: x86/mmu: Prevent installing hugepages when mem attributes are changing
  KVM: SVM: Update dump_ghcb() to use the GHCB snapshot fields
  KVM: RISC-V: reset smstateen CSRs
  KVM: x86/mmu: Check and free obsolete roots in kvm_mmu_reload()
  KVM: x86: Check that the high 32bits are clear in kvm_arch_vcpu_ioctl_run()
  KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception

2 months agoMerge tag 'mips-fixes_6.15_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips...
Linus Torvalds [Sun, 11 May 2025 18:19:52 +0000 (11:19 -0700)]
Merge tag 'mips-fixes_6.15_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Thomas Bogendoerfer:

 - Fix delayed timers

 - Fix NULL pointer deref

 - Fix wrong range check

* tag 'mips-fixes_6.15_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
  MIPS: Fix MAX_REG_OFFSET
  MIPS: CPS: Fix potential NULL pointer dereferences in cps_prepare_cpus()
  MIPS: rename rollback_handler with skipover_handler
  MIPS: Move r4k_wait() to .cpuidle.text section
  MIPS: Fix idle VS timer enqueue

2 months agoMerge tag 'x86-urgent-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 11 May 2025 18:08:55 +0000 (11:08 -0700)]
Merge tag 'x86-urgent-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fix from Ingo Molnar:
 "Fix a boot regression on very old x86 CPUs without CPUID support"

* tag 'x86-urgent-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/microcode: Consolidate the loader enablement checking

2 months agoMerge tag 'timers-urgent-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 11 May 2025 17:33:25 +0000 (10:33 -0700)]
Merge tag 'timers-urgent-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull misc timers fixes from Ingo Molnar:

 - Fix time keeping bugs in CLOCK_MONOTONIC_COARSE clocks

 - Work around absolute relocations into vDSO code that GCC erroneously
   emits in certain arm64 build environments

 - Fix a false positive lockdep warning in the i8253 clocksource driver

* tag 'timers-urgent-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/i8253: Use raw_spinlock_irqsave() in clockevent_i8253_disable()
  arm64: vdso: Work around invalid absolute relocations from GCC
  timekeeping: Prevent coarse clocks going backwards

2 months agoMerge tag 'input-for-v6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 11 May 2025 17:29:29 +0000 (10:29 -0700)]
Merge tag 'input-for-v6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input fixes from Dmitry Torokhov:

 - Synaptics touchpad on multiple laptops (Dynabook Portege X30L-G,
   Dynabook Portege X30-D, TUXEDO InfinityBook Pro 14 v5, Dell Precision
   M3800, HP Elitebook 850 G1) switched from PS/2 to SMBus mode

 - a number of new controllers added to xpad driver: HORI Drum
   controller, PowerA Fusion Pro 4, PowerA MOGA XP-Ultra controller,
   8BitDo Ultimate 2 Wireless Controller, 8BitDo Ultimate 3-mode
   Controller, Hyperkin DuchesS Xbox One controller

 - fixes to xpad driver to properly handle Mad Catz JOYTECH NEO SE
   Advanced and PDP Mirror's Edge Official controllers

 - fixes to xpad driver to properly handle "Share" button on some
   controllers

 - a fix for device initialization timing and for waking up the
   controller in cyttsp5 driver

 - a fix for hisi_powerkey driver to properly wake up from s2idle state

 - other assorted cleanups and fixes

* tag 'input-for-v6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: xpad - fix xpad_device sorting
  Input: xpad - add support for several more controllers
  Input: xpad - fix Share button on Xbox One controllers
  Input: xpad - fix two controller table values
  Input: hisi_powerkey - enable system-wakeup for s2idle
  Input: synaptics - enable InterTouch on Dell Precision M3800
  Input: synaptics - enable InterTouch on TUXEDO InfinityBook Pro 14 v5
  Input: synaptics - enable InterTouch on Dynabook Portege X30L-G
  Input: synaptics - enable InterTouch on Dynabook Portege X30-D
  Input: synaptics - enable SMBus for HP Elitebook 850 G1
  Input: mtk-pmic-keys - fix possible null pointer dereference
  Input: xpad - add support for 8BitDo Ultimate 2 Wireless Controller
  Input: cyttsp5 - fix power control issue on wakeup
  MAINTAINERS: .mailmap: update Mattijs Korpershoek's email address
  dt-bindings: mediatek,mt6779-keypad: Update Mattijs' email address
  Input: stmpe-ts - use module alias instead of device table
  Input: cyttsp5 - ensure minimum reset pulse width
  Input: sparcspkr - avoid unannotated fall-through
  input/joystick: magellan: Mark __nonstring look-up table

2 months agoMerge tag 'fixes-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt...
Linus Torvalds [Sun, 11 May 2025 17:23:53 +0000 (10:23 -0700)]
Merge tag 'fixes-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock

Pull memblock fixes from Mike Rapoport:

 - Mark set_high_memory() as __init to fix section mismatch

 - Accept memory allocated in memblock_double_array() to mitigate crash
   of SNP guests

* tag 'fixes-2025-05-11' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
  memblock: Accept allocated memory before use in memblock_double_array()
  mm,mm_init: Mark set_high_memory as __init

2 months agox86/sev: Fix operator precedence in GHCB_MSR_VMPL_REQ_LEVEL macro
Seongman Lee [Sun, 11 May 2025 09:23:28 +0000 (18:23 +0900)]
x86/sev: Fix operator precedence in GHCB_MSR_VMPL_REQ_LEVEL macro

The GHCB_MSR_VMPL_REQ_LEVEL macro lacked parentheses around the bitmask
expression, causing the shift operation to bind too early. As a result,
when requesting VMPL1 (e.g., GHCB_MSR_VMPL_REQ_LEVEL(1)), incorrect
values such as 0x000000016 were generated instead of the intended
0x100000016 (the requested VMPL level is specified in GHCBData[39:32]).

Fix the precedence issue by grouping the masked value before applying
the shift.

  [ bp: Massage commit message. ]

Fixes: 34ff65901735 ("x86/sev: Use kernel provided SVSM Calling Areas")
Signed-off-by: Seongman Lee <augustus92@kaist.ac.kr>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250511092329.12680-1-cloudlee1719@gmail.com
2 months agofutex: Relax the rcu_assign_pointer() assignment of mm->futex_phash in futex_mm_init()
Ingo Molnar [Sat, 10 May 2025 08:45:28 +0000 (10:45 +0200)]
futex: Relax the rcu_assign_pointer() assignment of mm->futex_phash in futex_mm_init()

The following commit added an rcu_assign_pointer() assignment to
futex_mm_init() in <linux/futex.h>:

  bd54df5ea7ca ("futex: Allow to resize the private local hash")

Which breaks the build on older compilers (gcc-9, x86-64 defconfig):

   CC      io_uring/futex.o
   In file included from ./arch/x86/include/generated/asm/rwonce.h:1,
                    from ./include/linux/compiler.h:390,
                    from ./include/linux/array_size.h:5,
                    from ./include/linux/kernel.h:16,
                    from io_uring/futex.c:2:
   ./include/linux/futex.h: In function 'futex_mm_init':
   ./include/linux/rcupdate.h:555:36: error: dereferencing pointer to incomplete type 'struct futex_private_hash'

The problem is that this variant of rcu_assign_pointer() wants to
know the full type of 'struct futex_private_hash', which type
is local to futex.c:

   kernel/futex/core.c:struct futex_private_hash {

There are a couple of mechanical solutions for this bug:

  - we can uninline futex_mm_init() and move it into futex/core.c

  - or we can share the structure definition with kernel/fork.c.

But both of these solutions have disadvantages: the first one adds
runtime overhead, while the second one dis-encapsulates private
futex types.

A third solution, implemented by this patch, is to just initialize
mm->futex_phash with NULL like the patch below, it's not like this
new MM's ->futex_phash can be observed externally until the task
is inserted into the task list, which guarantees full store ordering.

The relaxation of this initialization might also give a tiny speedup
on certain platforms.

Fixes: bd54df5ea7ca ("futex: Allow to resize the private local hash")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: André Almeida <andrealmeid@igalia.com>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Waiman Long <longman@redhat.com>
Link: https://lore.kernel.org/r/aB8SI00EHBri23lB@gmail.com
2 months agoInput: xpad - fix xpad_device sorting
Vicki Pfau [Sun, 11 May 2025 06:06:34 +0000 (23:06 -0700)]
Input: xpad - fix xpad_device sorting

A recent commit put one entry in the wrong place. This just moves it to the
right place.

Signed-off-by: Vicki Pfau <vi@endrift.com>
Link: https://lore.kernel.org/r/20250328234345.989761-5-vi@endrift.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2 months agoInput: xpad - add support for several more controllers
Vicki Pfau [Sun, 11 May 2025 06:00:10 +0000 (23:00 -0700)]
Input: xpad - add support for several more controllers

This adds support for several new controllers, all of which include
Share buttons:

- HORI Drum controller
- PowerA Fusion Pro 4
- 8BitDo Ultimate 3-mode Controller
- Hyperkin DuchesS Xbox One controller
- PowerA MOGA XP-Ultra controller

Signed-off-by: Vicki Pfau <vi@endrift.com>
Link: https://lore.kernel.org/r/20250328234345.989761-4-vi@endrift.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2 months agoInput: xpad - fix Share button on Xbox One controllers
Vicki Pfau [Sun, 11 May 2025 05:59:25 +0000 (22:59 -0700)]
Input: xpad - fix Share button on Xbox One controllers

The Share button, if present, is always one of two offsets from the end of the
file, depending on the presence of a specific interface. As we lack parsing for
the identify packet we can't automatically determine the presence of that
interface, but we can hardcode which of these offsets is correct for a given
controller.

More controllers are probably fixable by adding the MAP_SHARE_BUTTON in the
future, but for now I only added the ones that I have the ability to test
directly.

Signed-off-by: Vicki Pfau <vi@endrift.com>
Link: https://lore.kernel.org/r/20250328234345.989761-2-vi@endrift.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2 months agoInput: xpad - fix two controller table values
Vicki Pfau [Fri, 28 Mar 2025 23:43:36 +0000 (16:43 -0700)]
Input: xpad - fix two controller table values

Two controllers -- Mad Catz JOYTECH NEO SE Advanced and PDP Mirror's
Edge Official -- were missing the value of the mapping field, and thus
wouldn't detect properly.

Signed-off-by: Vicki Pfau <vi@endrift.com>
Link: https://lore.kernel.org/r/20250328234345.989761-1-vi@endrift.com
Fixes: 540602a43ae5 ("Input: xpad - add a few new VID/PID combinations")
Fixes: 3492321e2e60 ("Input: xpad - add multiple supported devices")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2 months agoInput: hisi_powerkey - enable system-wakeup for s2idle
Ulf Hansson [Thu, 6 Mar 2025 11:50:21 +0000 (12:50 +0100)]
Input: hisi_powerkey - enable system-wakeup for s2idle

To wake up the system from s2idle when pressing the power-button, let's
convert from using pm_wakeup_event() to pm_wakeup_dev_event(), as it allows
us to specify the "hard" in-parameter, which needs to be set for s2idle.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20250306115021.797426-1-ulf.hansson@linaro.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2 months agoMerge tag 'mm-hotfixes-stable-2025-05-10-14-23' of git://git.kernel.org/pub/scm/linux...
Linus Torvalds [Sat, 10 May 2025 22:50:56 +0000 (15:50 -0700)]
Merge tag 'mm-hotfixes-stable-2025-05-10-14-23' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc hotfixes from Andrew Morton:
 "22 hotfixes. 13 are cc:stable and the remainder address post-6.14
  issues or aren't considered necessary for -stable kernels.

  About half are for MM. Five OCFS2 fixes and a few MAINTAINERS updates"

* tag 'mm-hotfixes-stable-2025-05-10-14-23' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (22 commits)
  mm: fix folio_pte_batch() on XEN PV
  nilfs2: fix deadlock warnings caused by lock dependency in init_nilfs()
  mm/hugetlb: copy the CMA flag when demoting
  mm, swap: fix false warning for large allocation with !THP_SWAP
  selftests/mm: fix a build failure on powerpc
  selftests/mm: fix build break when compiling pkey_util.c
  mm: vmalloc: support more granular vrealloc() sizing
  tools/testing/selftests: fix guard region test tmpfs assumption
  ocfs2: stop quota recovery before disabling quotas
  ocfs2: implement handshaking with ocfs2 recovery thread
  ocfs2: switch osb->disable_recovery to enum
  mailmap: map Uwe's BayLibre addresses to a single one
  MAINTAINERS: add mm THP section
  mm/userfaultfd: fix uninitialized output field for -EAGAIN race
  selftests/mm: compaction_test: support platform with huge mount of memory
  MAINTAINERS: add core mm section
  ocfs2: fix panic in failed foilio allocation
  mm/huge_memory: fix dereferencing invalid pmd migration entry
  MAINTAINERS: add reverse mapping section
  x86: disable image size check for test builds
  ...

2 months agoMerge tag 'driver-core-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 10 May 2025 16:53:11 +0000 (09:53 -0700)]
Merge tag 'driver-core-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core

Pull driver core fix from Greg KH:
 "Here is a single driver core fix for a regression for platform devices
  that is a regression from a change that went into 6.15-rc1 that
  affected Pixel devices. It has been in linux-next for over a week with
  no reported problems"

* tag 'driver-core-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core:
  platform: Fix race condition during DMA configure at IOMMU probe time

2 months agoMerge tag 'usb-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Linus Torvalds [Sat, 10 May 2025 16:18:05 +0000 (09:18 -0700)]
Merge tag 'usb-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
 "Here are some small USB driver fixes for 6.15-rc6. Included in here
  are:

   - typec driver fixes

   - usbtmc ioctl fixes

   - xhci driver fixes

   - cdnsp driver fixes

   - some gadget driver fixes

  Nothing really major, just all little stuff that people have reported
  being issues. All of these have been in linux-next this week with no
  reported issues"

* tag 'usb-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  xhci: dbc: Avoid event polling busyloop if pending rx transfers are inactive.
  usb: xhci: Don't trust the EP Context cycle bit when moving HW dequeue
  usb: usbtmc: Fix erroneous generic_read ioctl return
  usb: usbtmc: Fix erroneous wait_srq ioctl return
  usb: usbtmc: Fix erroneous get_stb ioctl error returns
  usb: typec: tcpm: delay SNK_TRY_WAIT_DEBOUNCE to SRC_TRYWAIT transition
  USB: usbtmc: use interruptible sleep in usbtmc_read
  usb: cdnsp: fix L1 resume issue for RTL_REVISION_NEW_LPM version
  usb: typec: ucsi: displayport: Fix NULL pointer access
  usb: typec: ucsi: displayport: Fix deadlock
  usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs
  usb: uhci-platform: Make the clock really optional
  usb: dwc3: gadget: Make gadget_wakeup asynchronous
  usb: gadget: Use get_status callback to set remote wakeup capability
  usb: gadget: f_ecm: Add get_status callback
  usb: host: tegra: Prevent host controller crash when OTG port is used
  usb: cdnsp: Fix issue with resuming from L1
  usb: gadget: tegra-xudc: ACK ST_RC after clearing CTRL_RUN

2 months agoMerge tag 'staging-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
Linus Torvalds [Sat, 10 May 2025 16:08:19 +0000 (09:08 -0700)]
Merge tag 'staging-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging driver fixes from Greg KH:
 "Here are three small staging driver fixes for 6.15-rc6. These are:

   - bcm2835-camera driver fix

   - two axis-fifo driver fixes

  All of these have been in linux-next for a few weeks with no reported
  issues"

* tag 'staging-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: axis-fifo: Remove hardware resets for user errors
  staging: axis-fifo: Correct handling of tx_fifo_depth for size validation
  staging: bcm2835-camera: Initialise dev in v4l2_dev

2 months agoMerge tag 'char-misc-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
Linus Torvalds [Sat, 10 May 2025 15:55:15 +0000 (08:55 -0700)]
Merge tag 'char-misc-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc/IIO driver fixes from Greg KH:
 "Here are a bunch of small driver fixes (mostly all IIO) for 6.15-rc6.
  Included in here are:

   - loads of tiny IIO driver fixes for reported issues

   - hyperv driver fix for a much-reported and worked on sysfs ring
     buffer creation bug

  All of these have been in linux-next for over a week (the IIO ones for
  many weeks now), with no reported issues"

* tag 'char-misc-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (30 commits)
  Drivers: hv: Make the sysfs node size for the ring buffer dynamic
  uio_hv_generic: Fix sysfs creation path for ring buffer
  iio: adis16201: Correct inclinometer channel resolution
  iio: adc: ad7606: fix serial register access
  iio: pressure: mprls0025pa: use aligned_s64 for timestamp
  iio: imu: adis16550: align buffers for timestamp
  staging: iio: adc: ad7816: Correct conditional logic for store mode
  iio: adc: ad7266: Fix potential timestamp alignment issue.
  iio: adc: ad7768-1: Fix insufficient alignment of timestamp.
  iio: adc: dln2: Use aligned_s64 for timestamp
  iio: accel: adxl355: Make timestamp 64-bit aligned using aligned_s64
  iio: temp: maxim-thermocouple: Fix potential lack of DMA safe buffer.
  iio: chemical: pms7003: use aligned_s64 for timestamp
  iio: chemical: sps30: use aligned_s64 for timestamp
  iio: imu: inv_mpu6050: align buffer for timestamp
  iio: imu: st_lsm6dsx: Fix wakeup source leaks on device unbind
  iio: adc: qcom-spmi-iadc: Fix wakeup source leaks on device unbind
  iio: accel: fxls8962af: Fix wakeup source leaks on device unbind
  iio: adc: ad7380: fix event threshold shift
  iio: hid-sensor-prox: Fix incorrect OFFSET calculation
  ...

2 months agoMerge tag 'i2c-for-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
Linus Torvalds [Sat, 10 May 2025 15:52:41 +0000 (08:52 -0700)]
Merge tag 'i2c-for-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:

 - omap: use correct function to read from device tree

 - MAINTAINERS: remove Seth from ISMT maintainership

* tag 'i2c-for-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  MAINTAINERS: Remove entry for Seth Heasley
  i2c: omap: fix deprecated of_property_read_bool() use

2 months agoMerge tag 'for-linus-6.15a-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 10 May 2025 15:44:36 +0000 (08:44 -0700)]
Merge tag 'for-linus-6.15a-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fixes from Juergen Gross:

 - A fix for the xenbus driver allowing to use a PVH Dom0 with
   Xenstore running in another domain

 - A fix for the xenbus driver addressing a rare race condition
   resulting in NULL dereferences and other problems

 - A fix for the xen-swiotlb driver fixing a problem seen on Arm
   platforms

* tag 'for-linus-6.15a-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xenbus: Use kref to track req lifetime
  xenbus: Allow PVH dom0 a non-local xenstore
  xen: swiotlb: Use swiotlb bouncing if kmalloc allocation demands it

2 months agoMerge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Linus Torvalds [Sat, 10 May 2025 15:36:07 +0000 (08:36 -0700)]
Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull mount fixes from Al Viro:
 "A couple of races around legalize_mnt vs umount (both fairly old and
  hard to hit) plus two bugs in move_mount(2) - both around 'move
  detached subtree in place' logics"

* tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  fix IS_MNT_PROPAGATING uses
  do_move_mount(): don't leak MNTNS_PROPAGATING on failures
  do_umount(): add missing barrier before refcount checks in sync case
  __legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock

2 months agoMerge tag 'kvm-x86-fixes-6.15-rcN' of https://github.com/kvm-x86/linux into HEAD
Paolo Bonzini [Sat, 10 May 2025 15:11:06 +0000 (11:11 -0400)]
Merge tag 'kvm-x86-fixes-6.15-rcN' of https://github.com/kvm-x86/linux into HEAD

KVM x86 fixes for 6.15-rcN

 - Forcibly leave SMM on SHUTDOWN interception on AMD CPUs to avoid causing
   problems due to KVM stuffing INIT on SHUTDOWN (KVM needs to sanitize the
   VMCB as its state is undefined after SHUTDOWN, emulating INIT is the
   least awful choice).

 - Track the valid sync/dirty fields in kvm_run as a u64 to ensure KVM
   KVM doesn't goof a sanity check in the future.

 - Free obsolete roots when (re)loading the MMU to fix a bug where
   pre-faulting memory can get stuck due to always encountering a stale
   root.

 - When dumping GHCB state, use KVM's snapshot instead of the raw GHCB page
   to print state, so that KVM doesn't print stale/wrong information.

 - When changing memory attributes (e.g. shared <=> private), add potential
   hugepage ranges to the mmu_invalidate_range_{start,end} set so that KVM
   doesn't create a shared/private hugepage when the the corresponding
   attributes will become mixed (the attributes are commited *after* KVM
   finishes the invalidation).

 - Rework the SRSO mitigation to enable BP_SPEC_REDUCE only when KVM has at
   least one active VM.  Effectively BP_SPEC_REDUCE when KVM is loaded led
   to very measurable performance regressions for non-KVM workloads.

2 months agoMerge tag 'kvmarm-fixes-6.15-3' of https://git.kernel.org/pub/scm/linux/kernel/git...
Paolo Bonzini [Sat, 10 May 2025 15:10:02 +0000 (11:10 -0400)]
Merge tag 'kvmarm-fixes-6.15-3' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 fixes for 6.15, round #3

 - Avoid use of uninitialized memcache pointer in user_mem_abort()

 - Always set HCR_EL2.xMO bits when running in VHE, allowing interrupts
   to be taken while TGE=0 and fixing an ugly bug on AmpereOne that
   occurs when taking an interrupt while clearing the xMO bits
   (AC03_CPU_36)

 - Prevent VMMs from hiding support for AArch64 at any EL virtualized by
   KVM

 - Save/restore the host value for HCRX_EL2 instead of restoring an
   incorrect fixed value

 - Make host_stage2_set_owner_locked() check that the entire requested
   range is memory rather than just the first page

2 months agoMerge tag 'kvm-riscv-fixes-6.15-1' of https://github.com/kvm-riscv/linux into HEAD
Paolo Bonzini [Sat, 10 May 2025 15:09:26 +0000 (11:09 -0400)]
Merge tag 'kvm-riscv-fixes-6.15-1' of https://github.com/kvm-riscv/linux into HEAD

KVM/riscv fixes for 6.15, take #1

- Add missing reset of smstateen CSRs

2 months agoMerge tag 'i2c-host-fixes-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Wolfram Sang [Sat, 10 May 2025 09:41:13 +0000 (11:41 +0200)]
Merge tag 'i2c-host-fixes-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current

i2c-host-fixes for v6.15-rc6

- omap: use correct function to read from device tree
- MAINTAINERS: remove Seth from ISMT maintainership

2 months agoMerge tag '6.15-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
Linus Torvalds [Fri, 9 May 2025 23:45:21 +0000 (16:45 -0700)]
Merge tag '6.15-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:

 - Fix dentry leak which can cause umount crash

 - Add warning for parse contexts error on compounded operation

* tag '6.15-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  smb: client: Avoid race in open_cached_dir with lease breaks
  smb3 client: warn when parse contexts returns error on compounded operation

2 months agofix IS_MNT_PROPAGATING uses
Al Viro [Thu, 8 May 2025 19:35:51 +0000 (15:35 -0400)]
fix IS_MNT_PROPAGATING uses

propagate_mnt() does not attach anything to mounts created during
propagate_mnt() itself.  What's more, anything on ->mnt_slave_list
of such new mount must also be new, so we don't need to even look
there.

When move_mount() had been introduced, we've got an additional
class of mounts to skip - if we are moving from anon namespace,
we do not want to propagate to mounts we are moving (i.e. all
mounts in that anon namespace).

Unfortunately, the part about "everything on their ->mnt_slave_list
will also be ignorable" is not true - if we have propagation graph
A -> B -> C
and do OPEN_TREE_CLONE open_tree() of B, we get
A -> [B <-> B'] -> C
as propagation graph, where B' is a clone of B in our detached tree.
Making B private will result in
A -> B' -> C
C still gets propagation from A, as it would after making B private
if we hadn't done that open_tree(), but now the propagation goes
through B'.  Trying to move_mount() our detached tree on subdirectory
in A should have
* moved B' on that subdirectory in A
* skipped the corresponding subdirectory in B' itself
* copied B' on the corresponding subdirectory in C.
As it is, the logics in propagation_next() and friends ends up
skipping propagation into C, since it doesn't consider anything
downstream of B'.

IOW, walking the propagation graph should only skip the ->mnt_slave_list
of new mounts; the only places where the check for "in that one
anon namespace" are applicable are propagate_one() (where we should
treat that as the same kind of thing as "mountpoint we are looking
at is not visible in the mount we are looking at") and
propagation_would_overmount().  The latter is better dealt with
in the caller (can_move_mount_beneath()); on the first call of
propagation_would_overmount() the test is always false, on the
second it is always true in "move from anon namespace" case and
always false in "move within our namespace" one, so it's easier
to just use check_mnt() before bothering with the second call and
be done with that.

Fixes: 064fe6e233e8 ("mount: handle mount propagation for detached mount trees")
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2 months agodo_move_mount(): don't leak MNTNS_PROPAGATING on failures
Al Viro [Tue, 29 Apr 2025 01:43:23 +0000 (21:43 -0400)]
do_move_mount(): don't leak MNTNS_PROPAGATING on failures

as it is, a failed move_mount(2) from anon namespace breaks
all further propagation into that namespace, including normal
mounts in non-anon namespaces that would otherwise propagate
there.

Fixes: 064fe6e233e8 ("mount: handle mount propagation for detached mount trees")
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2 months agodo_umount(): add missing barrier before refcount checks in sync case
Al Viro [Tue, 29 Apr 2025 03:56:14 +0000 (23:56 -0400)]
do_umount(): add missing barrier before refcount checks in sync case

do_umount() analogue of the race fixed in 119e1ef80ecf "fix
__legitimize_mnt()/mntput() race".  Here we want to make sure that
if __legitimize_mnt() doesn't notice our lock_mount_hash(), we will
notice their refcount increment.  Harder to hit than mntput_no_expire()
one, fortunately, and consequences are milder (sync umount acting
like umount -l on a rare race with RCU pathwalk hitting at just the
wrong time instead of use-after-free galore mntput_no_expire()
counterpart used to be hit).  Still a bug...

Fixes: 48a066e72d97 ("RCU'd vfsmounts")
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2 months ago__legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock
Al Viro [Sun, 27 Apr 2025 19:41:51 +0000 (15:41 -0400)]
__legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock

... or we risk stealing final mntput from sync umount - raising mnt_count
after umount(2) has verified that victim is not busy, but before it
has set MNT_SYNC_UMOUNT; in that case __legitimize_mnt() doesn't see
that it's safe to quietly undo mnt_count increment and leaves dropping
the reference to caller, where it'll be a full-blown mntput().

Check under mount_lock is needed; leaving the current one done before
taking that makes no sense - it's nowhere near common enough to bother
with.

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2 months agoMerge tag 'rust-fixes-6.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda...
Linus Torvalds [Fri, 9 May 2025 21:06:34 +0000 (14:06 -0700)]
Merge tag 'rust-fixes-6.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux

Pull rust fixes from Miguel Ojeda:

 - Make CFI_AUTO_DEFAULT depend on !RUST or Rust >= 1.88.0

 - Clean Rust (and Clippy) lints for the upcoming Rust 1.87.0 and 1.88.0
   releases

 - Clean objtool warning for the upcoming Rust 1.87.0 release by adding
   one more noreturn function

* tag 'rust-fixes-6.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
  x86/Kconfig: make CFI_AUTO_DEFAULT depend on !RUST or Rust >= 1.88
  rust: clean Rust 1.88.0's `clippy::uninlined_format_args` lint
  rust: clean Rust 1.88.0's warning about `clippy::disallowed_macros` configuration
  rust: clean Rust 1.88.0's `unnecessary_transmutes` lint
  rust: allow Rust 1.87.0's `clippy::ptr_eq` lint
  objtool/rust: add one more `noreturn` Rust function for Rust 1.87.0

2 months agoMerge tag 'drm-fixes-2025-05-10' of https://gitlab.freedesktop.org/drm/kernel
Linus Torvalds [Fri, 9 May 2025 19:41:34 +0000 (12:41 -0700)]
Merge tag 'drm-fixes-2025-05-10' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Dave Airlie:
 "Weekly drm fixes, bit bigger than last week, but overall amdgpu/xe
  with some ivpu bits and a random few fixes, and dropping the
  ttm_backup struct which wrapped struct file and was recently
  frowned at.

  drm:
   - Fix overflow when generating wedged event

  ttm:
   - Fix documentation
   - Remove struct ttm_backup

  panel:
   - simple: Fix timings for AUO G101EVN010

  amdgpu:
   - DC FP fixes
   - Freesync fix
   - DMUB AUX fixes
   - VCN fix
   - Hibernation fixes
   - HDP fixes

  xe:
   - Prevent PF queue overflow
   - Hold all forcewake during mocs test
   - Remove GSC flush on reset path
   - Fix forcewake put on error path
   - Fix runtime warning when building without svm

  i915:
   - Fix oops on resume after disconnecting DP MST sinks during suspend
   - Fix SPLC num_waiters refcounting

  ivpu:
   - Increase timeouts
   - Fix deadlock in cmdq ioctl
   - Unlock mutices in correct order

  v3d:
   - Avoid memory leak in job handling"

* tag 'drm-fixes-2025-05-10' of https://gitlab.freedesktop.org/drm/kernel: (32 commits)
  drm/i915/dp: Fix determining SST/MST mode during MTP TU state computation
  drm/xe: Add config control for svm flush work
  drm/xe: Release force wake first then runtime power
  drm/xe/gsc: do not flush the GSC worker from the reset path
  drm/xe/tests/mocs: Hold XE_FORCEWAKE_ALL for LNCF regs
  drm/xe: Add page queue multiplier
  drm/amdgpu/hdp7: use memcfg register to post the write for HDP flush
  drm/amdgpu/hdp6: use memcfg register to post the write for HDP flush
  drm/amdgpu/hdp5.2: use memcfg register to post the write for HDP flush
  drm/amdgpu/hdp5: use memcfg register to post the write for HDP flush
  drm/amdgpu/hdp4: use memcfg register to post the write for HDP flush
  drm/amdgpu: fix pm notifier handling
  Revert "drm/amd: Stop evicting resources on APUs in suspend"
  drm/amdgpu/vcn: using separate VCN1_AON_SOC offset
  drm/amd/display: Fix wrong handling for AUX_DEFER case
  drm/amd/display: Copy AUX read reply data whenever length > 0
  drm/amd/display: Remove incorrect checking in dmub aux handler
  drm/amd/display: Fix the checking condition in dmub aux handling
  drm/amd/display: Shift DMUB AUX reply command if necessary
  drm/amd/display: Call FP Protect Before Mode Programming/Mode Support
  ...

2 months agoMerge tag 'drm-intel-fixes-2025-05-09' of https://gitlab.freedesktop.org/drm/i915...
Dave Airlie [Fri, 9 May 2025 19:07:17 +0000 (05:07 +1000)]
Merge tag 'drm-intel-fixes-2025-05-09' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes

drm/i915 fixes for v6.15-rc6:
- Fix oops on resume after disconnecting DP MST sinks during suspend
- Fix SPLC num_waiters refcounting

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Jani Nikula <jani.nikula@intel.com>
Link: https://lore.kernel.org/r/87tt5umeaw.fsf@intel.com
2 months agoMerge tag 'drm-xe-fixes-2025-05-09' of https://gitlab.freedesktop.org/drm/xe/kernel...
Dave Airlie [Fri, 9 May 2025 19:02:38 +0000 (05:02 +1000)]
Merge tag 'drm-xe-fixes-2025-05-09' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes

Driver Changes:
- Prevent PF queue overflow
- Hold all forcewake during mocs test
- Remove GSC flush on reset path
- Fix forcewake put on error path
- Fix runtime warning when building without svm

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/jffqa56f2zp4i5ztz677cdspgxhnw7qfop3dd3l2epykfpfvza@q2nw6wapsphz
2 months agogenirq: Fix inverted condition in handle_nested_irq()
Thomas Gleixner [Fri, 9 May 2025 18:37:54 +0000 (20:37 +0200)]
genirq: Fix inverted condition in handle_nested_irq()

Marek reported that the rework of handle_nested_irq() introduced a inverted
condition, which prevents handling of interrupts. Fix it up.

Fixes: 2ef2e13094c7 ("genirq/chip: Rework handle_nested_irq()")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Closes: https://lore.kernel/org/all/46ed4040-ca11-4157-8bd7-13c04c113734@samsung.com
2 months agoMerge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Linus Torvalds [Fri, 9 May 2025 18:30:26 +0000 (11:30 -0700)]
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fix from Catalin Marinas:
 "Move the arm64_use_ng_mappings variable from the .bss to the .data
  section as it is accessed very early during boot with the MMU off and
  before the .bss has been initialised.

  This could lead to incorrect idmap page table"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: cpufeature: Move arm64_use_ng_mappings to the .data section to prevent wrong idmap generation

2 months agoMerge tag 'riscv-for-linus-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 9 May 2025 18:17:50 +0000 (11:17 -0700)]
Merge tag 'riscv-for-linus-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fixes from Palmer Dabbelt:

 - The compressed half-word misaligned access instructions (c.lhu, c.lh,
   and c.sh) from the Zcb extension are now properly emulated

 - A series of fixes to properly emulate permissions while handling
   userspace misaligned accesses

 - A pair of fixes for PR_GET_TAGGED_ADDR_CTRL to avoid accessing the
   envcfg CSR on systems that don't support that CSR, and to report
   those failures up to userspace

 - The .rela.dyn section is no longer stripped from vmlinux, as it is
   necessary to relocate the kernel under some conditions (including
   kexec)

* tag 'riscv-for-linus-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  riscv: Disallow PR_GET_TAGGED_ADDR_CTRL without Supm
  scripts: Do not strip .rela.dyn section
  riscv: Fix kernel crash due to PR_SET_TAGGED_ADDR_CTRL
  riscv: misaligned: use get_user() instead of __get_user()
  riscv: misaligned: enable IRQs while handling misaligned accesses
  riscv: misaligned: factorize trap handling
  riscv: misaligned: Add handling for ZCB instructions

2 months agoMerge tag 'block-6.15-20250509' of git://git.kernel.dk/linux
Linus Torvalds [Fri, 9 May 2025 17:34:50 +0000 (10:34 -0700)]
Merge tag 'block-6.15-20250509' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:

 - Fix for a regression in this series for loop and read/write iterator
   handling

 - zone append block update tweak

 - remove a broken IO priority test

 - NVMe pull request via Christoph:
      - unblock ctrl state transition for firmware update (Daniel
        Wagner)

* tag 'block-6.15-20250509' of git://git.kernel.dk/linux:
  block: remove test of incorrect io priority level
  nvme: unblock ctrl state transition for firmware update
  block: only update request sector if needed
  loop: Add sanity check for read/write_iter

2 months agoMerge tag 'io_uring-6.15-20250509' of git://git.kernel.dk/linux
Linus Torvalds [Fri, 9 May 2025 16:26:46 +0000 (09:26 -0700)]
Merge tag 'io_uring-6.15-20250509' of git://git.kernel.dk/linux

Pull io_uring fixes from Jens Axboe:

 - Fix for linked timeouts arming and firing wrt prep and issue of the
   request being managed by the linked timeout

 - Fix for a CQE ordering issue between requests with multishot and
   using the same buffer group. This is a dumbed down version for this
   release and for stable, it'll get improved for v6.16

 - Tweak the SQPOLL submit batch size. A previous commit made SQPOLL
   manage its own task_work and chose a tiny batch size, bump it from 8
   to 32 to fix a performance regression due to that

* tag 'io_uring-6.15-20250509' of git://git.kernel.dk/linux:
  io_uring/sqpoll: Increase task_work submission batch size
  io_uring: ensure deferred completions are flushed for multishot
  io_uring: always arm linked timeouts prior to issue

2 months agoMerge tag 'modules-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/modules...
Linus Torvalds [Fri, 9 May 2025 16:09:49 +0000 (09:09 -0700)]
Merge tag 'modules-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux

Pull modules fix from Petr Pavlu:
 "A single fix to prevent use of an uninitialized completion pointer
  when releasing a module_kobject in specific situations.

  This addresses a latent bug exposed by commit f95bbfe18512 ("drivers:
  base: handle module_kobject creation")"

* tag 'modules-6.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux:
  module: ensure that kobject_put() is safe for module type kobjects

2 months agox86/mm: Eliminate window where TLB flushes may be inadvertently skipped
Dave Hansen [Thu, 8 May 2025 22:41:32 +0000 (15:41 -0700)]
x86/mm: Eliminate window where TLB flushes may be inadvertently skipped

tl;dr: There is a window in the mm switching code where the new CR3 is
set and the CPU should be getting TLB flushes for the new mm.  But
should_flush_tlb() has a bug and suppresses the flush.  Fix it by
widening the window where should_flush_tlb() sends an IPI.

Long Version:

=== History ===

There were a few things leading up to this.

First, updating mm_cpumask() was observed to be too expensive, so it was
made lazier.  But being lazy caused too many unnecessary IPIs to CPUs
due to the now-lazy mm_cpumask().  So code was added to cull
mm_cpumask() periodically[2].  But that culling was a bit too aggressive
and skipped sending TLB flushes to CPUs that need them.  So here we are
again.

=== Problem ===

The too-aggressive code in should_flush_tlb() strikes in this window:

// Turn on IPIs for this CPU/mm combination, but only
// if should_flush_tlb() agrees:
cpumask_set_cpu(cpu, mm_cpumask(next));

next_tlb_gen = atomic64_read(&next->context.tlb_gen);
choose_new_asid(next, next_tlb_gen, &new_asid, &need_flush);
load_new_mm_cr3(need_flush);
// ^ After 'need_flush' is set to false, IPIs *MUST*
// be sent to this CPU and not be ignored.

        this_cpu_write(cpu_tlbstate.loaded_mm, next);
// ^ Not until this point does should_flush_tlb()
// become true!

should_flush_tlb() will suppress TLB flushes between load_new_mm_cr3()
and writing to 'loaded_mm', which is a window where they should not be
suppressed.  Whoops.

=== Solution ===

Thankfully, the fuzzy "just about to write CR3" window is already marked
with loaded_mm==LOADED_MM_SWITCHING.  Simply checking for that state in
should_flush_tlb() is sufficient to ensure that the CPU is targeted with
an IPI.

This will cause more TLB flush IPIs.  But the window is relatively small
and I do not expect this to cause any kind of measurable performance
impact.

Update the comment where LOADED_MM_SWITCHING is written since it grew
yet another user.

Peter Z also raised a concern that should_flush_tlb() might not observe
'loaded_mm' and 'is_lazy' in the same order that switch_mm_irqs_off()
writes them.  Add a barrier to ensure that they are observed in the
order they are written.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Rik van Riel <riel@surriel.com>
Link: https://lore.kernel.org/oe-lkp/202411282207.6bd28eae-lkp@intel.com/
Fixes: 6db2526c1d69 ("x86/mm/tlb: Only trim the mm_cpumask once a second") [2]
Reported-by: Stephen Dolan <sdolan@janestreet.com>
Cc: stable@vger.kernel.org
Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2 months agoio_uring/sqpoll: Increase task_work submission batch size
Gabriel Krisman Bertazi [Thu, 8 May 2025 18:12:03 +0000 (14:12 -0400)]
io_uring/sqpoll: Increase task_work submission batch size

Our QA team reported a 10%-23%, throughput reduction on an io_uring
sqpoll testcase doing IO to a null_blk, that I traced back to a
reduction of the device submission queue depth utilization. It turns out
that, after commit af5d68f8892f ("io_uring/sqpoll: manage task_work
privately"), we capped the number of task_work entries that can be
completed from a single spin of sqpoll to only 8 entries, before the
sqpoll goes around to (potentially) sleep.  While this cap doesn't drive
the submission side directly, it impacts the completion behavior, which
affects the number of IO queued by fio per sqpoll cycle on the
submission side, and io_uring ends up seeing less ios per sqpoll cycle.
As a result, block layer plugging is less effective, and we see more
time spent inside the block layer in profilings charts, and increased
submission latency measured by fio.

There are other places that have increased overhead once sqpoll sleeps
more often, such as the sqpoll utilization calculation.  But, in this
microbenchmark, those were not representative enough in perf charts, and
their removal didn't yield measurable changes in throughput.  The major
overhead comes from the fact we plug less, and less often, when submitting
to the block layer.

My benchmark is:

fio --ioengine=io_uring --direct=1 --iodepth=128 --runtime=300 --bs=4k \
    --invalidate=1 --time_based  --ramp_time=10 --group_reporting=1 \
    --filename=/dev/nullb0 --name=RandomReads-direct-nullb-sqpoll-4k-1 \
    --rw=randread --numjobs=1 --sqthread_poll

In one machine, tested on top of Linux 6.15-rc1, we have the following
baseline:
  READ: bw=4994MiB/s (5236MB/s), 4994MiB/s-4994MiB/s (5236MB/s-5236MB/s), io=439GiB (471GB), run=90001-90001msec

With this patch:
  READ: bw=5762MiB/s (6042MB/s), 5762MiB/s-5762MiB/s (6042MB/s-6042MB/s), io=506GiB (544GB), run=90001-90001msec

which is a 15% improvement in measured bandwidth.  The average
submission latency is noticeably lowered too.  As measured by
fio:

Baseline:
   lat (usec): min=20, max=241, avg=99.81, stdev=3.38
Patched:
   lat (usec): min=26, max=226, avg=86.48, stdev=4.82

If we look at blktrace, we can also see the plugging behavior is
improved. In the baseline, we end up limited to plugging 8 requests in
the block layer regardless of the device queue depth size, while after
patching we can drive more io, and we manage to utilize the full device
queue.

In the baseline, after a stabilization phase, an ordinary submission
looks like:
  254,0    1    49942     0.016028795  5977  U   N [iou-sqp-5976] 7

After patching, I see consistently more requests per unplug.
  254,0    1     4996     0.001432872  3145  U   N [iou-sqp-3144] 32

Ideally, the cap size would at least be the deep enough to fill the
device queue, but we can't predict that behavior, or assume all IO goes
to a single device, and thus can't guess the ideal batch size.  We also
don't want to let the tw run unbounded, though I'm not sure it would
really be a problem.  Instead, let's just give it a more sensible value
that will allow for more efficient batching.  I've tested with different
cap values, and initially proposed to increase the cap to 1024.  Jens
argued it is too big of a bump and I observed that, with 32, I'm no
longer able to observe this bottleneck in any of my machines.

Fixes: af5d68f8892f ("io_uring/sqpoll: manage task_work privately")
Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de>
Link: https://lore.kernel.org/r/20250508181203.3785544-1-krisman@suse.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2 months agodrm/i915/dp: Fix determining SST/MST mode during MTP TU state computation
Imre Deak [Wed, 7 May 2025 15:19:53 +0000 (18:19 +0300)]
drm/i915/dp: Fix determining SST/MST mode during MTP TU state computation

Determining the SST/MST mode during state computation must be done based
on the output type stored in the CRTC state, which in turn is set once
based on the modeset connector's SST vs. MST type and will not change as
long as the connector is using the CRTC. OTOH the MST mode indicated by
the given connector's intel_dp::is_mst flag can change independently of
the above output type, based on what sink is at any moment plugged to
the connector.

Fix the state computation accordingly.

Cc: Jani Nikula <jani.nikula@intel.com>
Fixes: f6971d7427c2 ("drm/i915/mst: adapt intel_dp_mtp_tu_compute_config() for 128b/132b SST")
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4607
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://lore.kernel.org/r/20250507151953.251846-1-imre.deak@intel.com
(cherry picked from commit 0f45696ddb2b901fbf15cb8d2e89767be481d59f)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2 months agomemblock: Accept allocated memory before use in memblock_double_array()
Tom Lendacky [Thu, 8 May 2025 17:24:10 +0000 (12:24 -0500)]
memblock: Accept allocated memory before use in memblock_double_array()

When increasing the array size in memblock_double_array() and the slab
is not yet available, a call to memblock_find_in_range() is used to
reserve/allocate memory. However, the range returned may not have been
accepted, which can result in a crash when booting an SNP guest:

  RIP: 0010:memcpy_orig+0x68/0x130
  Code: ...
  RSP: 0000:ffffffff9cc03ce8 EFLAGS: 00010006
  RAX: ff11001ff83e5000 RBX: 0000000000000000 RCX: fffffffffffff000
  RDX: 0000000000000bc0 RSI: ffffffff9dba8860 RDI: ff11001ff83e5c00
  RBP: 0000000000002000 R08: 0000000000000000 R09: 0000000000002000
  R10: 000000207fffe000 R11: 0000040000000000 R12: ffffffff9d06ef78
  R13: ff11001ff83e5000 R14: ffffffff9dba7c60 R15: 0000000000000c00
  memblock_double_array+0xff/0x310
  memblock_add_range+0x1fb/0x2f0
  memblock_reserve+0x4f/0xa0
  memblock_alloc_range_nid+0xac/0x130
  memblock_alloc_internal+0x53/0xc0
  memblock_alloc_try_nid+0x3d/0xa0
  swiotlb_init_remap+0x149/0x2f0
  mem_init+0xb/0xb0
  mm_core_init+0x8f/0x350
  start_kernel+0x17e/0x5d0
  x86_64_start_reservations+0x14/0x30
  x86_64_start_kernel+0x92/0xa0
  secondary_startup_64_no_verify+0x194/0x19b

Mitigate this by calling accept_memory() on the memory range returned
before the slab is available.

Prior to v6.12, the accept_memory() interface used a 'start' and 'end'
parameter instead of 'start' and 'size', therefore the accept_memory()
call must be adjusted to specify 'start + size' for 'end' when applying
to kernels prior to v6.12.

Cc: stable@vger.kernel.org # see patch description, needs adjustments for <= 6.11
Fixes: dcdfdd40fa82 ("mm: Add support for unaccepted memory")
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Link: https://lore.kernel.org/r/da1ac73bf4ded761e21b4e4bb5178382a580cd73.1746725050.git.thomas.lendacky@amd.com
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
2 months agoMerge tag 'amd-drm-fixes-6.15-2025-05-08' of https://gitlab.freedesktop.org/agd5f...
Dave Airlie [Fri, 9 May 2025 01:10:41 +0000 (11:10 +1000)]
Merge tag 'amd-drm-fixes-6.15-2025-05-08' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes

amd-drm-fixes-6.15-2025-05-08:

amdgpu:
- DC FP fixes
- Freesync fix
- DMUB AUX fixes
- VCN fix
- Hibernation fixes
- HDP fixes

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Alex Deucher <alexander.deucher@amd.com>
Link: https://lore.kernel.org/r/20250508194102.3242372-1-alexander.deucher@amd.com
2 months agoMerge tag 'drm-misc-fixes-2025-05-08' of https://gitlab.freedesktop.org/drm/misc...
Dave Airlie [Thu, 8 May 2025 22:51:57 +0000 (08:51 +1000)]
Merge tag 'drm-misc-fixes-2025-05-08' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes

Short summary of fixes pull:

drm:
- Fix overflow when generating wedged event

ivpu:
- Increate timeouts
- Fix deadlock in cmdq ioctl
- Unlock mutices in correct order

panel:
- simple: Fix timings for AUO G101EVN010

ttm:
- Fix documentation
- Remove struct ttm_backup

v3d:
- Avoid memory leak in job handling

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20250508104939.GA76697@2a02-2454-fd5e-fd00-c110-cbf2-6528-c5be.dyn6.pyur.net
2 months agoMerge tag 'bcachefs-2025-05-08' of git://evilpiepirate.org/bcachefs
Linus Torvalds [Thu, 8 May 2025 21:28:49 +0000 (14:28 -0700)]
Merge tag 'bcachefs-2025-05-08' of git://evilpiepirate.org/bcachefs

Pull bcachefs fixes from Kent Overstreet:

 - Some fixes to help with filesystem analysis: ensure superblock
   error count gets written if we go ERO, don't discard the journal
   aggressively (so it's available for list_journal -a)

 - Fix lost wakeup on arm causing us to get stuck when reading btree
   nodes

 - Fix fsck failing to exit on ctrl-c

 - An additional fix for filesystems with misaligned bucket sizes: we
   now ensure that allocations are properly aligned

 - Setting background target but not promote target will now leave that
   data cached on the foreground target, as it used to

 - Revert a change to when we allocate the VFS superblock, this was done
   for implementing blk_holder_ops but ended up not being needed, and
   allocating a superblock and not setting SB_BORN while we do recovery
   caused sync() calls and other things to hang

 - Assorted fixes for harmless error messages that caused concern to
   users

* tag 'bcachefs-2025-05-08' of git://evilpiepirate.org/bcachefs:
  bcachefs: Don't aggressively discard the journal
  bcachefs: Ensure superblock gets written when we go ERO
  bcachefs: Filter out harmless EROFS error messages
  bcachefs: journal_shutdown is EROFS, not EIO
  bcachefs: Call bch2_fs_start before getting vfs superblock
  bcachefs: fix hung task timeout in journal read
  bcachefs: Add missing barriers before wake_up_bit()
  bcachefs: Ensure proper write alignment
  bcachefs: Improve want_cached_ptr()
  bcachefs: thread_with_stdio: fix spinning instead of exiting

2 months agodrm/xe: Add config control for svm flush work
Shuicheng Lin [Fri, 2 May 2025 17:00:52 +0000 (17:00 +0000)]
drm/xe: Add config control for svm flush work

Without CONFIG_DRM_XE_GPUSVM set, GPU SVM is not initialized thus below
warning pops. Refine the flush work code to be controlled by the config
to avoid below warning:
"
[  453.132028] ------------[ cut here ]------------
[  453.132527] WARNING: CPU: 9 PID: 4491 at kernel/workqueue.c:4205 __flush_work+0x379/0x3a0
[  453.133355] Modules linked in: xe drm_ttm_helper ttm gpu_sched drm_buddy drm_suballoc_helper drm_gpuvm drm_exec
[  453.134352] CPU: 9 UID: 0 PID: 4491 Comm: xe_exec_mix_mod Tainted: G     U  W           6.15.0-rc3+ #7 PREEMPT(full)
[  453.135405] Tainted: [U]=USER, [W]=WARN
...
[  453.136921] RIP: 0010:__flush_work+0x379/0x3a0
[  453.137417] Code: 8b 45 00 48 8b 55 08 89 c7 48 c1 e8 04 83 e7 08 83 e0 0f 83 cf 02 89 c6 48 0f ba 6d 00 03 e9 d5 fe ff ff 0f 0b e9 db fd ff ff <0f> 0b 45 31 e4 e9 d1 fd ff ff 0f 0b e9 03 ff ff ff 0f 0b e9 d6 fe
[  453.139250] RSP: 0018:ffffc90000c67b18 EFLAGS: 00010246
[  453.139782] RAX: 0000000000000000 RBX: ffff888108a24000 RCX: 0000000000002000
[  453.140521] RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff8881016d61c8
[  453.141253] RBP: ffff8881016d61c8 R08: 0000000000000000 R09: 0000000000000000
[  453.141985] R10: 0000000000000000 R11: 0000000008a24000 R12: 0000000000000001
[  453.142709] R13: 0000000000000002 R14: 0000000000000000 R15: ffff888107db8c00
[  453.143450] FS:  00007f44853d4c80(0000) GS:ffff8882f469b000(0000) knlGS:0000000000000000
[  453.144276] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  453.144853] CR2: 00007f4487629228 CR3: 00000001016aa000 CR4: 00000000000406f0
[  453.145594] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  453.146320] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  453.147061] Call Trace:
[  453.147336]  <TASK>
[  453.147579]  ? tick_nohz_tick_stopped+0xd/0x30
[  453.148067]  ? xas_load+0x9/0xb0
[  453.148435]  ? xa_load+0x6f/0xb0
[  453.148781]  __xe_vm_bind_ioctl+0xbd5/0x1500 [xe]
[  453.149338]  ? dev_printk_emit+0x48/0x70
[  453.149762]  ? _dev_printk+0x57/0x80
[  453.150148]  ? drm_ioctl+0x17c/0x440
[  453.150544]  ? __drm_dev_vprintk+0x36/0x90
[  453.150983]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
[  453.151575]  ? drm_ioctl_kernel+0x9f/0xf0
[  453.151998]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
[  453.152560]  drm_ioctl_kernel+0x9f/0xf0
[  453.152968]  drm_ioctl+0x20f/0x440
[  453.153332]  ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
[  453.153893]  ? ioctl_has_perm.constprop.0.isra.0+0xae/0x100
[  453.154489]  ? memory_bm_test_bit+0x5/0x60
[  453.154935]  xe_drm_ioctl+0x47/0x70 [xe]
[  453.155419]  __x64_sys_ioctl+0x8d/0xc0
[  453.155824]  do_syscall_64+0x47/0x110
[  453.156228]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
"

v2 (Matt):
    refine commit message to have more details
    add Fixes tag
    move the code to xe_svm.h which already have the config
    remove a blank line per codestyle suggestion

Fixes: 63f6e480d115 ("drm/xe: Add SVM garbage collector")
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250502170052.1787973-1-shuicheng.lin@intel.com
(cherry picked from commit 9d80698bcd97a5ad1088bcbb055e73fd068895e2)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2 months agoperf: Fix confusing aux iteration
Frederic Weisbecker [Thu, 24 Apr 2025 16:11:28 +0000 (18:11 +0200)]
perf: Fix confusing aux iteration

While an event tears down all links to it as an aux, the iteration
happens on the event's group leader instead of the group itself.

If the event is a group leader, it has no effect because the event is
also its own group leader. But otherwise there would be a risk to detach
all the siblings events from the wrong group leader.

It just happens to work because each sibling's aux link is tested
against the right event before proceeding. Also the ctx lock is the same
for the events and their group leader so the iteration is safe.

Yet the iteration is confusing. Clarify the actual intent.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20250424161128.29176-5-frederic@kernel.org
2 months agoperf: Remove too early and redundant CPU hotplug handling
Frederic Weisbecker [Thu, 24 Apr 2025 16:11:27 +0000 (18:11 +0200)]
perf: Remove too early and redundant CPU hotplug handling

The CPU hotplug handlers are called twice: at prepare and online stage.

Their role is to:

1) Enable/disable a CPU context. This is irrelevant and even buggy at
   the prepare stage because the CPU is still offline. On early
   secondary CPU up, creating an event attached to that CPU might
   silently fail because the CPU context is observed as online but the
   context installation's IPI failure is ignored.

2) Update the scope cpumasks and re-migrate the events accordingly in
   the CPU down case. This is irrelevant at the prepare stage.

3) Remove the events attached to the context of the offlining CPU. It
   even uses an (unnecessary) IPI for it. This is also irrelevant at the
   prepare stage.

Also none of the *_PREPARE and *_STARTING architecture perf related CPU
hotplug callbacks rely on CPUHP_PERF_PREPARE.

CPUHP_AP_PERF_ONLINE is enough and the right place to perform the work.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20250424161128.29176-4-frederic@kernel.org
2 months agoperf: Fix irq work dereferencing garbage
Frederic Weisbecker [Mon, 28 Apr 2025 11:11:47 +0000 (13:11 +0200)]
perf: Fix irq work dereferencing garbage

The following commit:

da916e96e2de ("perf: Make perf_pmu_unregister() useable")

has introduced two significant event's parent lifecycle changes:

1) An event that has exited now has EVENT_TOMBSTONE as a parent.
   This can result in a situation where the delayed wakeup irq_work can
   accidentally dereference EVENT_TOMBSTONE on:

CPU 0                                          CPU 1
-----                                          -----

__schedule()
    local_irq_disable()
    rq_lock()
    <NMI>
    perf_event_overflow()
        irq_work_queue(&child->pending_irq)
    </NMI>
    perf_event_task_sched_out()
        raw_spin_lock(&ctx->lock)
        ctx_sched_out()
        ctx->is_active = 0
        event_sched_out(child)
        raw_spin_unlock(&ctx->lock)
                                              perf_event_release_kernel(parent)
                                                  perf_remove_from_context(child)
                                                  raw_spin_lock_irq(&ctx->lock)
                                                  // Sees !ctx->is_active
                                                  // Removes from context inline
                                                  __perf_remove_from_context(child)
                                                      perf_child_detach(child)
                                                          event->parent = EVENT_TOMBSTONE
    raw_spin_rq_unlock_irq(rq);
    <IRQ>
    perf_pending_irq()
        perf_event_wakeup(child)
            ring_buffer_wakeup(child)
                rcu_dereference(child->parent->rb) <--- CRASH

This also concerns the call to kill_fasync() on parent->fasync.

2) The final parent reference count decrement can now happen before the
   the final child reference count decrement. ie: the parent can now
   be freed before its child. On PREEMPT_RT, this can result in a
   situation where the delayed wakeup irq_work can accidentally
   dereference a freed parent:

CPU 0                                          CPU 1                              CPU 2
-----                                          -----                              ------

perf_pmu_unregister()
    pmu_detach_events()
       pmu_get_event()
           atomic_long_inc_not_zero(&child->refcount)

                                               <NMI>
                                               perf_event_overflow()
                                                   irq_work_queue(&child->pending_irq);
                                               </NMI>
                                               <IRQ>
                                               irq_work_run()
                                                   wake_irq_workd()
                                               </IRQ>
                                               preempt_schedule_irq()
                                               =========> SWITCH to workd
                                               irq_work_run_list()
                                                   perf_pending_irq()
                                                       perf_event_wakeup(child)
                                                           ring_buffer_wakeup(child)
                                                               event = child->parent

                                                                                  perf_event_release_kernel(parent)
                                                                                      // Not last ref, PMU holds it
                                                                                      put_event(child)
                                                                                      // Last ref
                                                                                      put_event(parent)
                                                                                          free_event()
                                                                                              call_rcu(...)
                                                                                  rcu_core()
                                                                                      free_event_rcu()

                                                               rcu_dereference(event->rb) <--- CRASH

This also concerns the call to kill_fasync() on parent->fasync.

The "easy" solution to 1) is to check that event->parent is not
EVENT_TOMBSTONE on perf_event_wakeup() (including both ring buffer
and fasync uses).

The "easy" solution to 2) is to turn perf_event_wakeup() to wholefully
run under rcu_read_lock().

However because of 2), sanity would prescribe to make event::parent
an __rcu pointer and annotate each and every users to prove they are
reliable.

Propose an alternate solution and restore the stable pointer to the
parent until all its children have called _free_event() themselves to
avoid any further accident. Also revert the EVENT_TOMBSTONE design
that is mostly here to determine which caller of perf_event_exit_event()
must perform the refcount decrement on a child event matching the
increment in inherit_event().

Arrange instead for checking the attach state of an event prior to its
removal and decrement the refcount of the child accordingly.

Fixes: da916e96e2de ("perf: Make perf_pmu_unregister() useable")
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
2 months agoperf: Fix failing inherit_event() doing extra refcount decrement on parent
Frederic Weisbecker [Thu, 24 Apr 2025 16:11:25 +0000 (18:11 +0200)]
perf: Fix failing inherit_event() doing extra refcount decrement on parent

When inherit_event() fails after the child allocation but before the
parent refcount has been incremented, calling put_event() wrongly
decrements the reference to the parent, risking to free it too early.

Also pmu_get_event() can't be holding a reference to the child
concurrently at this point since it is under pmus_srcu critical section.

Fix it with restoring the deleted free_event() function and call it on
the failing child in order to free it directly under the verified
assumption that its refcount is only 1. The refcount to the parent is
then voluntarily omitted.

Fixes: da916e96e2de ("perf: Make perf_pmu_unregister() useable")
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20250424161128.29176-2-frederic@kernel.org
2 months agodrm/xe: Release force wake first then runtime power
Shuicheng Lin [Wed, 7 May 2025 02:23:02 +0000 (02:23 +0000)]
drm/xe: Release force wake first then runtime power

xe_force_wake_get() is dependent on xe_pm_runtime_get(), so for
the release path, xe_force_wake_put() should be called first then
xe_pm_runtime_put().
Combine the error path and normal path together with goto.

Fixes: 85d547608ef5 ("drm/xe/xe_gt_debugfs: Update handling of xe_force_wake_get return")
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Link: https://lore.kernel.org/r/20250507022302.2187527-1-shuicheng.lin@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit 432cd94efdca06296cc5e76d673546f58aa90ee1)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2 months agodrm/xe/gsc: do not flush the GSC worker from the reset path
Daniele Ceraolo Spurio [Fri, 2 May 2025 15:51:04 +0000 (08:51 -0700)]
drm/xe/gsc: do not flush the GSC worker from the reset path

The workqueue used for the reset worker is marked as WQ_MEM_RECLAIM,
while the GSC one isn't (and can't be as we need to do memory
allocations in the gsc worker). Therefore, we can't flush the latter
from the former.

The reason why we had such a flush was to avoid interrupting either
the GSC FW load or in progress GSC proxy operations. GSC proxy
operations fall into 2 categories:

1) GSC proxy init: this only happens once immediately after GSC FW load
   and does not support being interrupted. The only way to recover from
   an interruption of the proxy init is to do an FLR and re-load the GSC.

2) GSC proxy request: this can happen in response to a request that
   the driver sends to the GSC. If this is interrupted, the GSC FW will
   timeout and the driver request will be failed, but overall the GSC
   will keep working fine.

Flushing the work allowed us to avoid interruption in both cases (unless
the hang came from the GSC engine itself, in which case we're toast
anyway). However, a failure on a proxy request is tolerable if we're in
a scenario where we're triggering a GT reset (i.e., something is already
gone pretty wrong), so what we really need to avoid is interrupting
the init flow, which we can do by polling on the register that reports
when the proxy init is complete (as that ensure us that all the load and
init operations have been completed).

Note that during suspend we still want to do a flush of the worker to
make sure it completes any operations involving the HW before the power
is cut.

v2: fix spelling in commit msg, rename waiter function (Julia)

Fixes: dd0e89e5edc2 ("drm/xe/gsc: GSC FW load")
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4830
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: <stable@vger.kernel.org> # v6.8+
Reviewed-by: Julia Filipchuk <julia.filipchuk@intel.com>
Link: https://lore.kernel.org/r/20250502155104.2201469-1-daniele.ceraolospurio@intel.com
(cherry picked from commit 12370bfcc4f0bdf70279ec5b570eb298963422b5)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2 months agodrm/xe/tests/mocs: Hold XE_FORCEWAKE_ALL for LNCF regs
Tejas Upadhyay [Mon, 28 Apr 2025 08:23:57 +0000 (13:53 +0530)]
drm/xe/tests/mocs: Hold XE_FORCEWAKE_ALL for LNCF regs

LNCF registers report wrong values when XE_FORCEWAKE_GT
only is held. Holding XE_FORCEWAKE_ALL ensures correct
operations on LNCF regs.

V2(Himal):
 - Use xe_force_wake_ref_has_domain

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1999
Fixes: a6a4ea6d7d37 ("drm/xe: Add mocs kunit")
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250428082357.1730068-1-tejas.upadhyay@intel.com
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
(cherry picked from commit 70a2585e582058e94fe4381a337be42dec800337)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2 months agodrm/xe: Add page queue multiplier
Matthew Brost [Tue, 8 Apr 2025 15:59:15 +0000 (08:59 -0700)]
drm/xe: Add page queue multiplier

For an unknown reason the math to determine the PF queue size does is
not correct - compute UMD applications are overflowing the PF queue
which is fatal. A multippier of 8 fixes the problem.

Fixes: 3338e4f90c14 ("drm/xe: Use topology to determine page fault queue size")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Jagmeet Randhawa <jagmeet.randhawa@intel.com>
Link: https://lore.kernel.org/r/20250408155915.78770-1-matthew.brost@intel.com
(cherry picked from commit 29582e0ea75c95668d168b12406e3c56cf5a73c4)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2 months agoMerge tag 'vfio-v6.15-rc6' of https://github.com/awilliam/linux-vfio
Linus Torvalds [Thu, 8 May 2025 19:09:22 +0000 (12:09 -0700)]
Merge tag 'vfio-v6.15-rc6' of https://github.com/awilliam/linux-vfio

Pull vfio fix from Alex Williamson:

 - Fix an issue in vfio-pci huge_fault handling by aligning faults to
   the order, resulting in deterministic use of huge pages.  This
   avoids a race where simultaneous aligned and unaligned faults to
   the same PMD can result in a VM_FAULT_OOM and subsequent VM crash.
   (Alex Williamson)

* tag 'vfio-v6.15-rc6' of https://github.com/awilliam/linux-vfio:
  vfio/pci: Align huge faults to order

2 months agofutex: Fix outdated comment in struct restart_block
Nam Cao [Mon, 28 Apr 2025 19:34:45 +0000 (21:34 +0200)]
futex: Fix outdated comment in struct restart_block

Since commit 2070887fdeac ("futex: fix restart in wait_requeue_pi"),
futex_wait_requeue_pi() no longer uses restart_block. Update the comment
accordingly.

Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250428193445.4571-1-namcao@linutronix.de
2 months agotreewide, timers: Rename destroy_timer_on_stack() as timer_destroy_on_stack()
Ingo Molnar [Wed, 7 May 2025 17:53:37 +0000 (19:53 +0200)]
treewide, timers: Rename destroy_timer_on_stack() as timer_destroy_on_stack()

Move this API to the canonical timer_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-10-mingo@kernel.org
2 months agotreewide, timers: Rename try_to_del_timer_sync() as timer_delete_sync_try()
Ingo Molnar [Wed, 7 May 2025 17:53:36 +0000 (19:53 +0200)]
treewide, timers: Rename try_to_del_timer_sync() as timer_delete_sync_try()

Move this API to the canonical timer_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-9-mingo@kernel.org
2 months agotimers: Rename init_timers() as timers_init()
Ingo Molnar [Wed, 7 May 2025 17:53:35 +0000 (19:53 +0200)]
timers: Rename init_timers() as timers_init()

Move this API to the canonical timers_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-8-mingo@kernel.org
2 months agotimers: Rename NEXT_TIMER_MAX_DELTA as TIMER_NEXT_MAX_DELTA
Ingo Molnar [Wed, 7 May 2025 17:53:34 +0000 (19:53 +0200)]
timers: Rename NEXT_TIMER_MAX_DELTA as TIMER_NEXT_MAX_DELTA

Move this macro to the canonical TIMER_* namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-7-mingo@kernel.org
2 months agotimers: Rename __init_timer_on_stack() as __timer_init_on_stack()
Ingo Molnar [Wed, 7 May 2025 17:53:33 +0000 (19:53 +0200)]
timers: Rename __init_timer_on_stack() as __timer_init_on_stack()

Move this API to the canonical __timer_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-6-mingo@kernel.org
2 months agotimers: Rename __init_timer() as __timer_init()
Ingo Molnar [Wed, 7 May 2025 17:53:32 +0000 (19:53 +0200)]
timers: Rename __init_timer() as __timer_init()

Move this API to the canonical __timer_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-5-mingo@kernel.org
2 months agotimers: Rename init_timer_on_stack_key() as timer_init_key_on_stack()
Ingo Molnar [Wed, 7 May 2025 17:53:31 +0000 (19:53 +0200)]
timers: Rename init_timer_on_stack_key() as timer_init_key_on_stack()

Move this API to the canonical timer_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-4-mingo@kernel.org
2 months agotimers: Rename init_timer_key() as timer_init_key()
Ingo Molnar [Wed, 7 May 2025 17:53:30 +0000 (19:53 +0200)]
timers: Rename init_timer_key() as timer_init_key()

Move this API to the canonical timer_*() namespace.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250507175338.672442-3-mingo@kernel.org
2 months agoMerge branch 'irq/platform-msi' into irq/msi
Thomas Gleixner [Thu, 8 May 2025 17:17:16 +0000 (19:17 +0200)]
Merge branch 'irq/platform-msi' into irq/msi

Pull in the platform MSI/GIC changes which are seperate for the PCI
endpoint driver updates.

2 months agoMerge tag 'riscv-fixes-6.15-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel...
Palmer Dabbelt [Thu, 8 May 2025 16:40:21 +0000 (09:40 -0700)]
Merge tag 'riscv-fixes-6.15-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux into fixes

riscv fixes for 6.15-rc6

- A fix to handle compressed halfword load/store instructions misaligned accesses
- A fix to allow user memory access while handling a misaligned access
- 2 fixes to return an error if the pointer masking extension is not implemented on the platform but userspace still tries to access it, which caused oops on some early platforms
- A fix to prevent the stripping of .rela.dyn so that a vmlinux loaded by kexec can successfully boot

* tag 'riscv-fixes-6.15-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux:
  riscv: Disallow PR_GET_TAGGED_ADDR_CTRL without Supm
  scripts: Do not strip .rela.dyn section
  riscv: Fix kernel crash due to PR_SET_TAGGED_ADDR_CTRL
  riscv: misaligned: use get_user() instead of __get_user()
  riscv: misaligned: enable IRQs while handling misaligned accesses
  riscv: misaligned: factorize trap handling
  riscv: misaligned: Add handling for ZCB instructions