Skip to content
Snippets Groups Projects
  1. Nov 20, 2024
    • Linus Torvalds's avatar
      Merge tag 'cgroup-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 7586d527
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - cpu.stat now also shows niced CPU time
      
       - Freezer and cpuset optimizations
      
       - Other misc changes
      
      * tag 'cgroup-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup/cpuset: Disable cpuset_cpumask_can_shrink() test if not load balancing
        cgroup/cpuset: Further optimize code if CONFIG_CPUSETS_V1 not set
        cgroup/cpuset: Enforce at most one rebuild_sched_domains_locked() call per operation
        cgroup/cpuset: Revert "Allow suppression of sched domain rebuild in update_cpumasks_hier()"
        MAINTAINERS: remove Zefan Li
        cgroup/freezer: Add cgroup CGRP_FROZEN flag update helper
        cgroup/freezer: Reduce redundant traversal for cgroup_freeze
        cgroup/bpf: only cgroup v2 can be attached by bpf programs
        Revert "cgroup: Fix memory leak caused by missing cgroup_bpf_offline"
        selftests/cgroup: Fix compile error in test_cpu.c
        cgroup/rstat: Selftests for niced CPU statistics
        cgroup/rstat: Tracking cgroup-level niced CPU time
        cgroup/cpuset: Fix spelling errors in file kernel/cgroup/cpuset.c
      7586d527
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · d6b6d390
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
      
       - The maximum concurrency limit of 512 which was set a long time ago is
         too low now.
      
         A legitimate use (BPF cgroup release) of system_wq could saturate it
         under stress test conditions leading to false dependencies and
         deadlocks.
      
         While the offending use was switched to a dedicated workqueue, use
         the opportunity to bump WQ_MAX_ACTIVE four fold and document that
         system workqueue shouldn't be saturated. Workqueue should add at
         least a warning mechanism for cases where system workqueues are
         saturated.
      
       - Recent workqueue updates to support more flexible execution topology
         made unbound workqueues use per-cpu worker pool frontends which
         pushed up workqueue flush overhead.
      
         As consecutive CPUs are likely to be pointing to the same worker
         pool, reduce overhead by switching locks only when necessary.
      
      * tag 'wq-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Reduce expensive locks for unbound workqueue
        workqueue: Adjust WQ_MAX_ACTIVE from 512 to 2048
        workqueue: doc: Add a note saturating the system_wq is not permitted
      d6b6d390
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · a0e752bd
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
       "Kprobes cleanups. Functionality does not change.
      
         - kprobes: Cleanup the config comment
      
           Adjust #endif comments.
      
         - kprobes: Cleanup collect_one_slot() and __disable_kprobe()
      
           Make fail fast to reduce code nested level.
      
         - kprobes: Use struct_size() in __get_insn_slot()
      
           Use struct_size() to avoid special macro.
      
         - x86/kprobes: Cleanup kprobes on ftrace code
      
           Use macro instead of direct field access/magic number, and avoid
           redundant instruction pointer setting"
      
      * tag 'probes-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        x86/kprobes: Cleanup kprobes on ftrace code
        kprobes: Use struct_size() in __get_insn_slot()
        kprobes: Cleanup collect_one_slot() and __disable_kprobe()
        kprobes: Cleanup the config comment
      a0e752bd
    • Linus Torvalds's avatar
      Merge tag 'livepatching-for-6.13' of... · aa44f414
      Linus Torvalds authored
      Merge tag 'livepatching-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching
      
      Pull livepatching update from Petr Mladek:
      
       - A new selftest for livepatching of a kprobed function
      
      * tag 'livepatching-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        selftests: livepatch: test livepatching a kprobed function
        selftests: livepatch: save and restore kprobe state
        selftests: livepatch: rename KLP_SYSFS_DIR to SYSFS_KLP_DIR
      aa44f414
    • Linus Torvalds's avatar
      Merge tag 'printk-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 7d66d3ab
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Print more precise information about the printk log buffer memory
         usage.
      
       - Make sure that the sysrq title is shown on the console even when
         deferred.
      
       - Do not enable earlycon by `console=` which is meant to disable the
         default console.
      
      * tag 'printk-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        printk: add dummy printk_force_console_enter/exit helpers
        tty: sysrq: Use printk_force_console context on __handle_sysrq
        printk: Introduce FORCE_CON flag
        printk: Improve memory usage logging during boot
        init: Don't proxy `console=` to earlycon
      7d66d3ab
    • Linus Torvalds's avatar
      Merge tag 'docs-6.13' of git://git.lwn.net/linux · c3cda60e
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "Another moderately busy cycle in docsland:
      
         - Work on Chinese translations has picked up again. Happily, they are
           maintaining the existing translations and not just adding new ones.
      
         - Some maintenance of the Japanese and Italian translations as well.
      
         - The removal of the venerable "dontdiff" file. It has long outlived
           its usefulness and contained entries ("parse.*") that would
           actively mask actual source change.
      
         - The addition of enforcement information to the code-of-conduct
           documentation.
      
        Along with some build-system fixes and a lot of typo and language
        fixes"
      
      * tag 'docs-6.13' of git://git.lwn.net/linux: (52 commits)
        Documentation/CoC: spell out enforcement for unacceptable behaviors
        docs: fix typos and whitespace in Documentation/process/backporting.rst
        docs/zh_CN: fix one sentence in llvm.rst
        docs: bug-bisect: add a note about bisecting -next
        docs/zh_CN: add the translation of kbuild/llvm.rst
        Documentation: Fix incorrect paths/magic in magic numbers rst
        Documentation/maintainer-tip: Fix typos
        Documentation: Improve crash_kexec_post_notifiers description
        Docs/zh_CN: Translate physical_memory.rst to Simplified Chinese
        Documentation: admin: reorganize kernel-parameters intro
        docs/zh_CN: update the translation of process/programming-language.rst
        docs/zh_CN: update the translation of mm/page_owner.rst
        docs/zh_CN: update the translation of mm/page_table_check.rst
        docs/zh_CN: update the translation of mm/overcommit-accounting.rst
        docs/zh_CN: update the translation of mm/admon/faq.rst
        docs/zh_CN: update the translation of mm/active_mm.rst
        docs/zh_CN: update the translation of mm/hmm.rst
        docs: remove Documentation/dontdiff
        docs/zh_CN: Add a entry in Chinese glossary
        Docs/zh_CN: Fix the pfn calculation error in page_tables.rst
        ...
      c3cda60e
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bf9aa14f
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "A rather large update for timekeeping and timers:
      
         - The final step to get rid of auto-rearming posix-timers
      
           posix-timers are currently auto-rearmed by the kernel when the
           signal of the timer is ignored so that the timer signal can be
           delivered once the corresponding signal is unignored.
      
           This requires to throttle the timer to prevent a DoS by small
           intervals and keeps the system pointlessly out of low power states
           for no value. This is a long standing non-trivial problem due to
           the lock order of posix-timer lock and the sighand lock along with
           life time issues as the timer and the sigqueue have different life
           time rules.
      
           Cure this by:
      
             - Embedding the sigqueue into the timer struct to have the same
               life time rules. Aside of that this also avoids the lookup of
               the timer in the signal delivery and rearm path as it's just a
               always valid container_of() now.
      
             - Queuing ignored timer signals onto a seperate ignored list.
      
             - Moving queued timer signals onto the ignored list when the
               signal is switched to SIG_IGN before it could be delivered.
      
             - Walking the ignored list when SIG_IGN is lifted and requeue the
               signals to the actual signal lists. This allows the signal
               delivery code to rearm the timer.
      
           This also required to consolidate the signal delivery rules so they
           are consistent across all situations. With that all self test
           scenarios finally succeed.
      
         - Core infrastructure for VFS multigrain timestamping
      
           This is required to allow the kernel to use coarse grained time
           stamps by default and switch to fine grained time stamps when inode
           attributes are actively observed via getattr().
      
           These changes have been provided to the VFS tree as well, so that
           the VFS specific infrastructure could be built on top.
      
         - Cleanup and consolidation of the sleep() infrastructure
      
             - Move all sleep and timeout functions into one file
      
             - Rework udelay() and ndelay() into proper documented inline
               functions and replace the hardcoded magic numbers by proper
               defines.
      
             - Rework the fsleep() implementation to take the reality of the
               timer wheel granularity on different HZ values into account.
               Right now the boundaries are hard coded time ranges which fail
               to provide the requested accuracy on different HZ settings.
      
             - Update documentation for all sleep/timeout related functions
               and fix up stale documentation links all over the place
      
             - Fixup a few usage sites
      
         - Rework of timekeeping and adjtimex(2) to prepare for multiple PTP
           clocks
      
           A system can have multiple PTP clocks which are participating in
           seperate and independent PTP clock domains. So far the kernel only
           considers the PTP clock which is based on CLOCK TAI relevant as
           that's the clock which drives the timekeeping adjustments via the
           various user space daemons through adjtimex(2).
      
           The non TAI based clock domains are accessible via the file
           descriptor based posix clocks, but their usability is very limited.
           They can't be accessed fast as they always go all the way out to
           the hardware and they cannot be utilized in the kernel itself.
      
           As Time Sensitive Networking (TSN) gains traction it is required to
           provide fast user and kernel space access to these clocks.
      
           The approach taken is to utilize the timekeeping and adjtimex(2)
           infrastructure to provide this access in a similar way how the
           kernel provides access to clock MONOTONIC, REALTIME etc.
      
           Instead of creating a duplicated infrastructure this rework
           converts timekeeping and adjtimex(2) into generic functionality
           which operates on pointers to data structures instead of using
           static variables.
      
           This allows to provide time accessors and adjtimex(2) functionality
           for the independent PTP clocks in a subsequent step.
      
         - Consolidate hrtimer initialization
      
           hrtimers are set up by initializing the data structure and then
           seperately setting the callback function for historical reasons.
      
           That's an extra unnecessary step and makes Rust support less
           straight forward than it should be.
      
           Provide a new set of hrtimer_setup*() functions and convert the
           core code and a few usage sites of the less frequently used
           interfaces over.
      
           The bulk of the htimer_init() to hrtimer_setup() conversion is
           already prepared and scheduled for the next merge window.
      
         - Drivers:
      
             - Ensure that the global timekeeping clocksource is utilizing the
               cluster 0 timer on MIPS multi-cluster systems.
      
               Otherwise CPUs on different clusters use their cluster specific
               clocksource which is not guaranteed to be synchronized with
               other clusters.
      
             - Mostly boring cleanups, fixes, improvements and code movement"
      
      * tag 'timers-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (140 commits)
        posix-timers: Fix spurious warning on double enqueue versus do_exit()
        clocksource/drivers/arm_arch_timer: Use of_property_present() for non-boolean properties
        clocksource/drivers/gpx: Remove redundant casts
        clocksource/drivers/timer-ti-dm: Fix child node refcount handling
        dt-bindings: timer: actions,owl-timer: convert to YAML
        clocksource/drivers/ralink: Add Ralink System Tick Counter driver
        clocksource/drivers/mips-gic-timer: Always use cluster 0 counter as clocksource
        clocksource/drivers/timer-ti-dm: Don't fail probe if int not found
        clocksource/drivers:sp804: Make user selectable
        clocksource/drivers/dw_apb: Remove unused dw_apb_clockevent functions
        hrtimers: Delete hrtimer_init_on_stack()
        alarmtimer: Switch to use hrtimer_setup() and hrtimer_setup_on_stack()
        io_uring: Switch to use hrtimer_setup_on_stack()
        sched/idle: Switch to use hrtimer_setup_on_stack()
        hrtimers: Delete hrtimer_init_sleeper_on_stack()
        wait: Switch to use hrtimer_setup_sleeper_on_stack()
        timers: Switch to use hrtimer_setup_sleeper_on_stack()
        net: pktgen: Switch to use hrtimer_setup_sleeper_on_stack()
        futex: Switch to use hrtimer_setup_sleeper_on_stack()
        fs/aio: Switch to use hrtimer_setup_sleeper_on_stack()
        ...
      bf9aa14f
    • Linus Torvalds's avatar
      Merge tag 'timers-vdso-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 03523875
      Linus Torvalds authored
      Pull vdso data page handling updates from Thomas Gleixner:
       "First steps of consolidating the VDSO data page handling.
      
        The VDSO data page handling is architecture specific for historical
        reasons, but there is no real technical reason to do so.
      
        Aside of that VDSO data has become a dump ground for various
        mechanisms and fail to provide a clear separation of the
        functionalities.
      
        Clean this up by:
      
         - consolidating the VDSO page data by getting rid of architecture
           specific warts especially in x86 and PowerPC.
      
         - removing the last includes of header files which are pulling in
           other headers outside of the VDSO namespace.
      
         - seperating timekeeping and other VDSO data accordingly.
      
        Further consolidation of the VDSO page handling is done in subsequent
        changes scheduled for the next merge window.
      
        This also lays the ground for expanding the VDSO time getters for
        independent PTP clocks in a generic way without making every
        architecture add support seperately"
      
      * tag 'timers-vdso-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
        x86/vdso: Add missing brackets in switch case
        vdso: Rename struct arch_vdso_data to arch_vdso_time_data
        powerpc: Split systemcfg struct definitions out from vdso
        powerpc: Split systemcfg data out of vdso data page
        powerpc: Add kconfig option for the systemcfg page
        powerpc/pseries/lparcfg: Use num_possible_cpus() for potential processors
        powerpc/pseries/lparcfg: Fix printing of system_active_processors
        powerpc/procfs: Propagate error of remap_pfn_range()
        powerpc/vdso: Remove offset comment from 32bit vdso_arch_data
        x86/vdso: Split virtual clock pages into dedicated mapping
        x86/vdso: Delete vvar.h
        x86/vdso: Access vdso data without vvar.h
        x86/vdso: Move the rng offset to vsyscall.h
        x86/vdso: Access rng vdso data without vvar.h
        x86/vdso: Access timens vdso data without vvar.h
        x86/vdso: Allocate vvar page from C code
        x86/vdso: Access rng data from kernel without vvar
        x86/vdso: Place vdso_data at beginning of vvar page
        x86/vdso: Use __arch_get_vdso_data() to access vdso data
        x86/mm/mmap: Remove arch_vma_name()
        ...
      03523875
  2. Nov 19, 2024
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5c2b0508
      Linus Torvalds authored
      Pull interrupt subsystem updates from Thomas Gleixner:
       "Tree wide:
      
         - Make nr_irqs static to the core code and provide accessor functions
           to remove existing and prevent future aliasing problems with local
           variables or function arguments of the same name.
      
        Core code:
      
         - Prevent freeing an interrupt in the devres code which is not
           managed by devres in the first place.
      
         - Use seq_put_decimal_ull_width() for decimal values output in
           /proc/interrupts which increases performance significantly as it
           avoids parsing the format strings over and over.
      
         - Optimize raising the timer and hrtimer soft interrupts by using the
           'set bit only' variants instead of the combined version which
           checks whether ksoftirqd should be woken up. The latter is a
           pointless exercise as both soft interrupts are raised in the
           context of the timer interrupt and therefore never wake up
           ksoftirqd.
      
         - Delegate timer/hrtimer soft interrupt processing to a dedicated
           thread on RT.
      
           Timer and hrtimer soft interrupts are always processed in ksoftirqd
           on RT enabled kernels. This can lead to high latencies when other
           soft interrupts are delegated to ksoftirqd as well.
      
           The separate thread allows to run them seperately under a RT
           scheduling policy to reduce the latency overhead.
      
        Drivers:
      
         - New drivers or extensions of existing drivers to support Renesas
           RZ/V2H(P), Aspeed AST27XX, T-HEAD C900 and ATMEL sam9x7 interrupt
           chips
      
         - Support for multi-cluster GICs on MIPS.
      
           MIPS CPUs can come with multiple CPU clusters, where each CPU
           cluster has its own GIC (Generic Interrupt Controller). This
           requires to access the GIC of a remote cluster through a redirect
           register block.
      
           This is encapsulated into a set of helper functions to keep the
           complexity out of the actual code paths which handle the GIC
           details.
      
         - Support for encrypted guests in the ARM GICV3 ITS driver
      
           The ITS page needs to be shared with the hypervisor and therefore
           must be decrypted.
      
         - Small cleanups and fixes all over the place"
      
      * tag 'irq-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
        irqchip/riscv-aplic: Prevent crash when MSI domain is missing
        genirq/proc: Use seq_put_decimal_ull_width() for decimal values
        softirq: Use a dedicated thread for timer wakeups on PREEMPT_RT.
        timers: Use __raise_softirq_irqoff() to raise the softirq.
        hrtimer: Use __raise_softirq_irqoff() to raise the softirq
        riscv: defconfig: Enable T-HEAD C900 ACLINT SSWI drivers
        irqchip: Add T-HEAD C900 ACLINT SSWI driver
        dt-bindings: interrupt-controller: Add T-HEAD C900 ACLINT SSWI device
        irqchip/stm32mp-exti: Use of_property_present() for non-boolean properties
        irqchip/mips-gic: Fix selection of GENERIC_IRQ_EFFECTIVE_AFF_MASK
        irqchip/mips-gic: Prevent indirect access to clusters without CPU cores
        irqchip/mips-gic: Multi-cluster support
        irqchip/mips-gic: Setup defaults in each cluster
        irqchip/mips-gic: Support multi-cluster in for_each_online_cpu_gic()
        irqchip/mips-gic: Replace open coded online CPU iterations
        genirq/irqdesc: Use str_enabled_disabled() helper in wakeup_show()
        genirq/devres: Don't free interrupt which is not managed by devres
        irqchip/gic-v3-its: Fix over allocation in itt_alloc_pool()
        irqchip/aspeed-intc: Add AST27XX INTC support
        dt-bindings: interrupt-controller: Add support for ASPEED AST27XX INTC
        ...
      5c2b0508
    • Linus Torvalds's avatar
      Merge tag 'core-debugobjects-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fb1dd140
      Linus Torvalds authored
      Pull debugobjects updates from Thomas Gleixner:
      
       - Prevent destroying the kmem_cache on early failure.
      
         Destroying a kmem_cache requires work queues to be set up, but in the
         early failure case they are not yet initializated. So rather leak the
         cache instead of triggering a BUG.
      
       - Reduce parallel pool fill attempts.
      
         Refilling the object pool requires to take the global pool lock,
         which causes a massive performance issue when a large number of CPUs
         attempt to refill concurrently. It turns out that it's sufficient to
         let one CPU handle the refill from the to free list and in case there
         are not enough objects on it to allocate new objects from the kmem
         cache.
      
         This also splits the free list handling from the actual allocation
         path as that yields better results on RT where allocation is
         restricted to preemptible code paths. The refill from free list has
         no such restrictions.
      
       - Consolidate the global and the per CPU pools to use the same data
         structure, so all helper functions can be shared.
      
       - Simplify the object allocation/free logic.
      
         The allocation/free logic is an incomprehensible maze, which tries to
         utilize the to free list and the global pool in the best way. This
         all can be simplified into a straight forward comprehensible code
         flow.
      
       - Convert the allocation/free mechanism to batch mode.
      
         Transferring objects from the global pool to the per CPU pools or
         vice versa is done by walking the hlist and moving object by object.
         That not only increases the pool lock held time, it also dirties up
         to 17 cache lines.
      
         This can be avoided by storing the pointer to the first object in a
         batch of 16 objects in the objects themself and propagate it through
         the batch when an object is enqueued into a pool or to a temporary
         hlist head on allocation.
      
         This allows to move batches of objects with at max four cache lines
         dirtied and reduces the pool lock held time and therefore contention
         significantly.
      
       - Improve the object reusage
      
         The current implementation is too agressively freeing unused objects,
         which is counterproductive on bursty workloads like a kernel compile.
      
         Address this by:
      
            * increasing the per CPU pool size
      
            * refilling the per CPU pool from the to be freed pool when the
              per CPU pool emptied a batch
      
            * keeping track of object usage with a exponentially wheighted
              moving average which prevents the work queue callback to free
              objects prematuraly.
      
         This combined reduces the allocation/free rate for a full kernel
         compile significantly:
      
                        kmem_cache_alloc()  kmem_cache_free()
            Baseline:   380k                330k
            Improved:   170k                117k
      
       - A few cleanups and a more cache line friendly layout of debug
         information on top.
      
      * tag 'core-debugobjects-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        debugobjects: Track object usage to avoid premature freeing of objects
        debugobjects: Refill per CPU pool more agressively
        debugobjects: Double the per CPU slots
        debugobjects: Move pool statistics into global_pool struct
        debugobjects: Implement batch processing
        debugobjects: Prepare kmem_cache allocations for batching
        debugobjects: Prepare for batching
        debugobjects: Use static key for boot pool selection
        debugobjects: Rework free_object_work()
        debugobjects: Rework object freeing
        debugobjects: Rework object allocation
        debugobjects: Move min/max count into pool struct
        debugobjects: Rename and tidy up per CPU pools
        debugobjects: Use separate list head for boot pool
        debugobjects: Move pools into a datastructure
        debugobjects: Reduce parallel pool fill attempts
        debugobjects: Make debug_objects_enabled bool
        debugobjects: Provide and use free_object_list()
        debugobjects: Remove pointless debug printk
        debugobjects: Reuse put_objects() on OOM
        ...
      fb1dd140
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a5c93bfe
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
      
       - Put cpumask_test_cpu() check in switch_mm_irqs_off() under
         CONFIG_DEBUG_VM, to micro-optimize the context-switching code (Rik
         van Riel)
      
       - Add missing details in virtual memory layout (Kirill A. Shutemov)
      
      * tag 'x86-mm-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/tlb: Put cpumask_test_cpu() check in switch_mm_irqs_off() under CONFIG_DEBUG_VM
        x86/mm/doc: Add missing details in virtual memory layout
      a5c93bfe
    • Linus Torvalds's avatar
      Merge tag 'x86-cleanups-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 89c45f38
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
      
       - x86/boot: Remove unused function atou() (Dr. David Alan Gilbert)
      
       - x86/cpu: Use str_yes_no() helper in show_cpuinfo_misc() (Thorsten
         Blum)
      
       - x86/platform: Switch back to struct platform_driver::remove() (Uwe
         Kleine-König)
      
      * tag 'x86-cleanups-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Remove unused function atou()
        x86/cpu: Use str_yes_no() helper in show_cpuinfo_misc()
        x86/platform: Switch back to struct platform_driver::remove()
      89c45f38
    • Linus Torvalds's avatar
      Merge tag 'x86-splitlock-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0892d742
      Linus Torvalds authored
      Pull x86 splitlock updates from Ingo Molnar:
      
       - Move Split and Bus lock code to a dedicated file (Ravi Bangoria)
      
       - Add split/bus lock support for AMD (Ravi Bangoria)
      
      * tag 'x86-splitlock-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/bus_lock: Add support for AMD
        x86/split_lock: Move Split and Bus lock code to a dedicated file
      0892d742
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3f020399
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "Core facilities:
      
         - Add the "Lazy preemption" model (CONFIG_PREEMPT_LAZY=y), which
           optimizes fair-class preemption by delaying preemption requests to
           the tick boundary, while working as full preemption for
           RR/FIFO/DEADLINE classes. (Peter Zijlstra)
              - x86: Enable Lazy preemption (Peter Zijlstra)
              - riscv: Enable Lazy preemption (Jisheng Zhang)
      
         - Initialize idle tasks only once (Thomas Gleixner)
      
         - sched/ext: Remove sched_fork() hack (Thomas Gleixner)
      
        Fair scheduler:
      
         - Optimize the PLACE_LAG when se->vlag is zero (Huang Shijie)
      
        Idle loop:
      
         - Optimize the generic idle loop by removing unnecessary memory
           barrier (Zhongqiu Han)
      
        RSEQ:
      
         - Improve cache locality of RSEQ concurrency IDs for intermittent
           workloads (Mathieu Desnoyers)
      
        Waitqueues:
      
         - Make wake_up_{bit,var} less fragile (Neil Brown)
      
        PSI:
      
         - Pass enqueue/dequeue flags to psi callbacks directly (Johannes
           Weiner)
      
        Preparatory patches for proxy execution:
      
         - Add move_queued_task_locked helper (Connor O'Brien)
      
         - Consolidate pick_*_task to task_is_pushable helper (Connor O'Brien)
      
         - Split out __schedule() deactivate task logic into a helper (John
           Stultz)
      
         - Split scheduler and execution contexts (Peter Zijlstra)
      
         - Make mutex::wait_lock irq safe (Juri Lelli)
      
         - Expose __mutex_owner() (Juri Lelli)
      
         - Remove wakeups from under mutex::wait_lock (Peter Zijlstra)
      
        Misc fixes and cleanups:
      
         - Remove unused __HAVE_THREAD_FUNCTIONS hook support (David
           Disseldorp)
      
         - Update the comment for TIF_NEED_RESCHED_LAZY (Sebastian Andrzej
           Siewior)
      
         - Remove unused bit_wait_io_timeout (Dr. David Alan Gilbert)
      
         - remove the DOUBLE_TICK feature (Huang Shijie)
      
         - fix the comment for PREEMPT_SHORT (Huang Shijie)
      
         - Fix unnused variable warning (Christian Loehle)
      
         - No PREEMPT_RT=y for all{yes,mod}config"
      
      * tag 'sched-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
        sched, x86: Update the comment for TIF_NEED_RESCHED_LAZY.
        sched: No PREEMPT_RT=y for all{yes,mod}config
        riscv: add PREEMPT_LAZY support
        sched, x86: Enable Lazy preemption
        sched: Enable PREEMPT_DYNAMIC for PREEMPT_RT
        sched: Add Lazy preemption model
        sched: Add TIF_NEED_RESCHED_LAZY infrastructure
        sched/ext: Remove sched_fork() hack
        sched: Initialize idle tasks only once
        sched: psi: pass enqueue/dequeue flags to psi callbacks directly
        sched/uclamp: Fix unnused variable warning
        sched: Split scheduler and execution contexts
        sched: Split out __schedule() deactivate task logic into a helper
        sched: Consolidate pick_*_task to task_is_pushable helper
        sched: Add move_queued_task_locked helper
        locking/mutex: Expose __mutex_owner()
        locking/mutex: Make mutex::wait_lock irq safe
        locking/mutex: Remove wakeups from under mutex::wait_lock
        sched: Improve cache locality of RSEQ concurrency IDs for intermittent workloads
        sched: idle: Optimize the generic idle loop by removing needless memory barrier
        ...
      3f020399
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f41dac3e
      Linus Torvalds authored
      Pull performance events updates from Ingo Molnar:
       "Uprobes:
          - Add BPF session support (Jiri Olsa)
          - Switch to RCU Tasks Trace flavor for better performance (Andrii
            Nakryiko)
          - Massively increase uretprobe SMP scalability by SRCU-protecting
            the uretprobe lifetime (Andrii Nakryiko)
          - Kill xol_area->slot_count (Oleg Nesterov)
      
        Core facilities:
          - Implement targeted high-frequency profiling by adding the ability
            for an event to "pause" or "resume" AUX area tracing (Adrian
            Hunter)
      
        VM profiling/sampling:
          - Correct perf sampling with guest VMs (Colton Lewis)
      
        New hardware support:
          - x86/intel: Add PMU support for Intel ArrowLake-H CPUs (Dapeng Mi)
      
        Misc fixes and enhancements:
          - x86/intel/pt: Fix buffer full but size is 0 case (Adrian Hunter)
          - x86/amd: Warn only on new bits set (Breno Leitao)
          - x86/amd/uncore: Avoid a false positive warning about snprintf
            truncation in amd_uncore_umc_ctx_init (Jean Delvare)
          - uprobes: Re-order struct uprobe_task to save some space
            (Christophe JAILLET)
          - x86/rapl: Move the pmu allocation out of CPU hotplug (Kan Liang)
          - x86/rapl: Clean up cpumask and hotplug (Kan Liang)
          - uprobes: Deuglify xol_get_insn_slot/xol_free_insn_slot paths (Oleg
            Nesterov)"
      
      * tag 'perf-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
        perf/core: Correct perf sampling with guest VMs
        perf/x86: Refactor misc flag assignments
        perf/powerpc: Use perf_arch_instruction_pointer()
        perf/core: Hoist perf_instruction_pointer() and perf_misc_flags()
        perf/arm: Drop unused functions
        uprobes: Re-order struct uprobe_task to save some space
        perf/x86/amd/uncore: Avoid a false positive warning about snprintf truncation in amd_uncore_umc_ctx_init
        perf/x86/intel: Do not enable large PEBS for events with aux actions or aux sampling
        perf/x86/intel/pt: Add support for pause / resume
        perf/core: Add aux_pause, aux_resume, aux_start_paused
        perf/x86/intel/pt: Fix buffer full but size is 0 case
        uprobes: SRCU-protect uretprobe lifetime (with timeout)
        uprobes: allow put_uprobe() from non-sleepable softirq context
        perf/x86/rapl: Clean up cpumask and hotplug
        perf/x86/rapl: Move the pmu allocation out of CPU hotplug
        uprobe: Add support for session consumer
        uprobe: Add data pointer to consumer handlers
        perf/x86/amd: Warn only on new bits set
        uprobes: fold xol_take_insn_slot() into xol_get_insn_slot()
        uprobes: kill xol_area->slot_count
        ...
      f41dac3e
    • Linus Torvalds's avatar
      Merge tag 'objtool-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d7d4ad2
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
      
       - Detect non-relocated text references for more robust
         IBT sealing (Josh Poimboeuf)
      
       - Fix build error when building stripped down
         UAPI headers (HONG Yifan)
      
       - Exclude __tracepoints data from ENDBR checks to fix
         false positives on clang builds (Peter Zijlstra)
      
       - Fix ORC unwind for newly forked tasks (Zheng Yejian)
      
       - Fix readelf related faddr2line regression (Carlos Llamas)
      
      * tag 'objtool-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Exclude __tracepoints data from ENDBR checks
        Revert "scripts/faddr2line: Check only two symbols when calculating symbol size"
        x86/unwind/orc: Fix unwind for newly forked tasks
        objtool: Also include tools/include/uapi
        objtool: Detect non-relocated text references
      9d7d4ad2
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 364eeb79
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "Lockdep:
         - Enable PROVE_RAW_LOCK_NESTING with PROVE_LOCKING (Sebastian Andrzej
           Siewior)
         - Add lockdep_cleanup_dead_cpu() (David Woodhouse)
      
        futexes:
         - Use atomic64_inc_return() in get_inode_sequence_number() (Uros
           Bizjak)
         - Use atomic64_try_cmpxchg_relaxed() in get_inode_sequence_number()
           (Uros Bizjak)
      
        RT locking:
         - Add sparse annotation PREEMPT_RT's locking (Sebastian Andrzej
           Siewior)
      
        spinlocks:
         - Use atomic_try_cmpxchg_release() in osq_unlock() (Uros Bizjak)
      
        atomics:
         - x86: Use ALT_OUTPUT_SP() for __alternative_atomic64() (Uros Bizjak)
         - x86: Use ALT_OUTPUT_SP() for __arch_{,try_}cmpxchg64_emu() (Uros
           Bizjak)
      
        KCSAN, seqlocks:
         - Support seqcount_latch_t (Marco Elver)
      
        <linux/cleanup.h>:
         - Add if_not_guard() conditional guard helper (David Lechner)
         - Adjust scoped_guard() macros to avoid potential warning (Przemek
           Kitszel)
         - Remove address space of returned pointer (Uros Bizjak)
      
        WW mutexes:
         - locking/ww_mutex: Adjust to lockdep nest_lock requirements (Thomas
           Hellström)
      
        Rust integration:
         - Fix raw_spin_lock initialization on PREEMPT_RT (Eder Zulian)
      
        Misc cleanups & fixes:
         - lockdep: Fix wait-type check related warnings (Ahmed Ehab)
         - lockdep: Use info level for initial info messages (Jiri Slaby)
         - spinlocks: Make __raw_* lock ops static (Geert Uytterhoeven)
         - pvqspinlock: Convert fields of 'enum vcpu_state' to uppercase
           (Qiuxu Zhuo)
         - iio: magnetometer: Fix if () scoped_guard() formatting (Stephen
           Rothwell)
         - rtmutex: Fix misleading comment (Peter Zijlstra)
         - percpu-rw-semaphores: Fix grammar in percpu-rw-semaphore.rst (Xiu
           Jianfeng)"
      
      * tag 'locking-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        locking/Documentation: Fix grammar in percpu-rw-semaphore.rst
        iio: magnetometer: fix if () scoped_guard() formatting
        rust: helpers: Avoid raw_spin_lock initialization for PREEMPT_RT
        kcsan, seqlock: Fix incorrect assumption in read_seqbegin()
        seqlock, treewide: Switch to non-raw seqcount_latch interface
        kcsan, seqlock: Support seqcount_latch_t
        time/sched_clock: Broaden sched_clock()'s instrumentation coverage
        time/sched_clock: Swap update_clock_read_data() latch writes
        locking/atomic/x86: Use ALT_OUTPUT_SP() for __arch_{,try_}cmpxchg64_emu()
        locking/atomic/x86: Use ALT_OUTPUT_SP() for __alternative_atomic64()
        cleanup: Add conditional guard helper
        cleanup: Adjust scoped_guard() macros to avoid potential warning
        locking/osq_lock: Use atomic_try_cmpxchg_release() in osq_unlock()
        cleanup: Remove address space of returned pointer
        locking/rtmutex: Fix misleading comment
        locking/rt: Annotate unlock followed by lock for sparse.
        locking/rt: Add sparse annotation for RCU.
        locking/rt: Remove one __cond_lock() in RT's spin_trylock_irqsave()
        locking/rt: Add sparse annotation PREEMPT_RT's sleeping locks.
        locking/pvqspinlock: Convert fields of 'enum vcpu_state' to uppercase
        ...
      364eeb79
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d8d78a90
      Linus Torvalds authored
      Pull x86 cpuid updates from Borislav Petkov:
      
       - Add a feature flag which denotes AMD CPUs supporting workload
         classification with the purpose of using such hints when making
         scheduling decisions
      
       - Determine the boost enumerator for each AMD core based on its type:
         efficiency or performance, in the cppc driver
      
       - Add the type of a CPU to the topology CPU descriptor with the goal of
         supporting and making decisions based on the type of the respective
         core
      
       - Add a feature flag to denote AMD cores which have heterogeneous
         topology and enable SD_ASYM_PACKING for those
      
       - Check microcode revisions before disabling PCID on Intel
      
       - Cleanups and fixlets
      
      * tag 'x86_cpu_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Remove redundant CONFIG_NUMA guard around numa_add_cpu()
        x86/cpu: Fix FAM5_QUARK_X1000 to use X86_MATCH_VFM()
        x86/cpu: Fix formatting of cpuid_bits[] in scattered.c
        x86/cpufeatures: Add X86_FEATURE_AMD_WORKLOAD_CLASS feature bit
        x86/amd: Use heterogeneous core topology for identifying boost numerator
        x86/cpu: Add CPU type to struct cpuinfo_topology
        x86/cpu: Enable SD_ASYM_PACKING for PKG domain on AMD
        x86/cpufeatures: Add X86_FEATURE_AMD_HETEROGENEOUS_CORES
        x86/cpufeatures: Rename X86_FEATURE_FAST_CPPC to have AMD prefix
        x86/mm: Don't disable PCID when INVLPG has been fixed by microcode
      d8d78a90
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 55db8eb4
      Linus Torvalds authored
      Pull x86 SEV updates from Borislav Petkov:
      
       - Do the proper memory conversion of guest memory in order to be able
         to kexec kernels in SNP guests along with other adjustments and
         cleanups to that effect
      
       - Start converting and moving functionality from the sev-guest driver
         into core code with the purpose of supporting the secure TSC SNP
         feature where the hypervisor cannot influence the TSC exposed to the
         guest anymore
      
       - Add a "nosnp" cmdline option in order to be able to disable SNP
         support in the hypervisor and thus free-up resources which are not
         going to be used
      
       - Cleanups
      
      [ Reminding myself about the endless TLA's again: SEV is the AMD Secure
        Encrypted Virtualization    - Linus ]
      
      * tag 'x86_sev_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sev: Cleanup vc_handle_msr()
        x86/sev: Convert shared memory back to private on kexec
        x86/mm: Refactor __set_clr_pte_enc()
        x86/boot: Skip video memory access in the decompressor for SEV-ES/SNP
        virt: sev-guest: Carve out SNP message context structure
        virt: sev-guest: Reduce the scope of SNP command mutex
        virt: sev-guest: Consolidate SNP guest messaging parameters to a struct
        x86/sev: Cache the secrets page address
        x86/sev: Handle failures from snp_init()
        virt: sev-guest: Use AES GCM crypto library
        x86/virt: Provide "nosnp" boot option for sev kernel command line
        x86/virt: Move SEV-specific parsing into arch/x86/virt/svm
      55db8eb4
    • Linus Torvalds's avatar
      Merge tag 'x86_platform_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9db8b240
      Linus Torvalds authored
      Pull x86 platform cleanup from Borislav Petkov:
      
       - Replace deprecated PCI functions used in intel-mid
      
      * tag 'x86_platform_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/intel-mid: Replace deprecated PCI functions
      9db8b240
    • Linus Torvalds's avatar
      Merge tag 'x86_microcode_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab713e70
      Linus Torvalds authored
      Pull x86 microcode loader update from Borislav Petkov:
      
       - Remove the unconditional cache writeback and invalidation after
         loading the microcode patch on Intel as this was addressing a
         microcode bug for which there is a concrete microcode revision check
         instead
      
      * tag 'x86_microcode_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/intel: Remove unnecessary cache writeback and invalidation
      ab713e70
    • Linus Torvalds's avatar
      Merge tag 'x86_cache_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5a4b3fbb
      Linus Torvalds authored
      Pull x86 cache resource control updates from Borislav Petkov:
      
       - Add support for 6-node sub-NUMA clustering on Intel
      
       - Cleanup
      
      * tag 'x86_cache_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Support Sub-NUMA cluster mode SNC6
        x86/resctrl: Slightly clean-up mbm_config_show()
      5a4b3fbb
    • Linus Torvalds's avatar
      Merge tag 'ras_core_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c1f2ffe2
      Linus Torvalds authored
      Pull RAS updates from Borislav Petkov:
      
       - Log and handle twp new AMD-specific MCA registers: SYND1 and SYND2
         and report the Field Replaceable Unit text info reported through them
      
       - Add support for handling variable-sized SMCA BERT records
      
       - Add the capability for reporting vendor-specific RAS error info
         without adding vendor-specific fields to struct mce
      
       - Cleanups
      
      * tag 'ras_core_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        EDAC/mce_amd: Add support for FRU text in MCA
        x86/mce/apei: Handle variable SMCA BERT record size
        x86/MCE/AMD: Add support for new MCA_SYND{1,2} registers
        tracing: Add __print_dynamic_array() helper
        x86/mce: Add wrapper for struct mce to export vendor specific info
        x86/mce/intel: Use MCG_BANKCNT_MASK instead of 0xff
        x86/mce/mcelog: Use xchg() to get and clear the flags
      c1f2ffe2
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 77286b86
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - Add support for Bluefield-2 SOCs to bluefield_edac
      
       - Add support for Intel Panther Lake-H to igen6_edac
      
       - Add polling support to igen6_edac as some Intel M100 chips have
         trouble with error interrupts
      
       - Add Kaby Lake-S support to ie31200_edac
      
       - Fix memory source detection in the SKX common module which is used by
         a couple of Intel EDAC drivers
      
       - Add support for the NXP i.MX9 memory controller to fsl_edac
      
       - The usual fixes and cleanups all over the place
      
      * tag 'edac_updates_for_v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/igen6: Add polling support
        EDAC/igen6: Initialize edac_op_state according to the configuration data
        EDAC/igen6: Avoid segmentation fault on module unload
        EDAC/ie31200: Add Kaby Lake-S dual-core host bridge ID
        MAINTAINERS: Change FSL DDR EDAC maintainership
        EDAC/{skx_common,i10nm}: Fix incorrect far-memory error source indicator
        EDAC/skx_common: Differentiate memory error sources
        EDAC/fsl_ddr: Add support for i.MX9 DDR controller
        dt-bindings: memory: fsl: Add compatible string nxp,imx9-memory-controller
        EDAC/fsl_ddr: Fix bad bit shift operations
        EDAC/fsl_ddr: Move global variables into struct fsl_mc_pdata
        EDAC/fsl_ddr: Pass down fsl_mc_pdata in ddr_in32() and ddr_out32()
        RAS/AMD/ATL: Add debug prints for DF register reads
        EDAC/bluefield: Use Arm SMC for EMI access on BlueField-2
        EDAC/bluefield: Fix potential integer overflow
        EDAC/igen6: Add Intel Panther Lake-H SoCs support
      77286b86
    • Linus Torvalds's avatar
      Merge tag 'kcsan-20241112-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/melver/linux · 769ca7d4
      Linus Torvalds authored
      Pull Kernel Concurrency Sanitizer (KCSAN) updates from Marco Elver:
      
       - Make KCSAN compatible with PREEMPT_RT
      
       - Minor cleanup
      
      * tag 'kcsan-20241112-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/melver/linux:
        kcsan: Remove redundant call of kallsyms_lookup_name()
        kcsan: Turn report_filterlist_lock into a raw_spinlock
      769ca7d4
    • Linus Torvalds's avatar
      Merge tag 'rcu.release.v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux · 8cdf2d19
      Linus Torvalds authored
      Pull RCU updates from Frederic Weisbecker:
       "SRCU:
      
         - Introduction of the new SRCU-lite flavour with a new pair of
           srcu_read_[un]lock_lite() APIs. In practice the read side using
           this flavour becomes lighter by removing a full memory barrier on
           LOCK and a full memory barrier on UNLOCK. This comes at the expense
           of a higher latency write side with two (in the best case of a
           snaphot of unused read-sides) or more RCU grace periods on the
           update side which now assumes by itself the whole full ordering
           guarantee against the LOCK/UNLOCK counters on both indexes, along
           with the accesses performed inside.
      
           Uretprobes is a known potential user.
      
           Note this doesn't replace the default normal flavour of SRCU which
           still behaves the same as usual.
      
         - Add testing of SRCU-lite through rcutorture and rcuscale
      
         - Various cleanups on the way.
      
        Fixes:
      
         - Allow short-circuiting RCU-TASKS-RUDE grace periods on
           architectures that have sane noinstr boundaries forbidding tracing
           on low-level idle and kernel entry code. RCU-TASKS is enough on
           such configurations because it involves an RCU grace period that
           waits for all idle tasks to either schedule out voluntarily or
           enter into RCU unwatched noinstr code.
      
         - Allow and test start_poll_synchronize_rcu() with IRQs disabled.
      
         - Mention rcuog kthreads in relevant documentation and Kconfig help
      
         - Various fixes and consolidations
      
        rcutorture:
      
         - Add --no-affinity on tools to leave the affinity setting of guests
           up to the user.
      
         - Add guest_os_delay parameter to rcuscale for better warm-up
           control.
      
         - Fix and improve some rcuscale error handling.
      
         - Various cleanups and fixes
      
        stall:
      
         - Remove dead code
      
         - Stop dumping tasks if a stalled grace period eventually ended
           midway as that only produces confusing output.
      
         - Optimize detection of stalling CPUs and avoid useless node locking
           otherwise.
      
        NOCB:
      
         - Fix rcu_barrier() hang due to a race against callbacks
           deoffloading. This is not yet used, except by rcutorture, and waits
           for its promised cpusets interface.
      
         - Remove leftover function declaration"
      
      * tag 'rcu.release.v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux: (42 commits)
        rcuscale: Remove redundant WARN_ON_ONCE() splat
        rcuscale: Do a proper cleanup if kfree_scale_init() fails
        srcu: Unconditionally record srcu_read_lock_lite() in ->srcu_reader_flavor
        srcu: Check for srcu_read_lock_lite() across all CPUs
        srcu: Remove smp_mb() from srcu_read_unlock_lite()
        rcutorture: Avoid printing cpu=-1 for no-fault RCU boost failure
        rcuscale: Add guest_os_delay module parameter
        refscale: Correct affinity check
        torture: Add --no-affinity parameter to kvm.sh
        rcu/nocb: Fix missed RCU barrier on deoffloading
        rcu/kvfree: Fix data-race in __mod_timer / kvfree_call_rcu
        rcu/srcutiny: don't return before reenabling preemption
        rcu-tasks: Remove open-coded one-byte cmpxchg() emulation
        doc: Remove kernel-parameters.txt entry for rcutorture.read_exit
        rcutorture: Test start-poll primitives with interrupts disabled
        rcu: Permit start_poll_synchronize_rcu*() with interrupts disabled
        rcu: Allow short-circuiting of synchronize_rcu_tasks_rude()
        doc: Add rcuog kthreads to kernel-per-CPU-kthreads.rst
        rcu: Add rcuog kthreads to RCU_NOCB_CPU help text
        rcu: Use the BITS_PER_LONG macro
        ...
      8cdf2d19
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.13-rc1' of... · 2b5d5f23
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hmon updates from Guenter Roeck:
       "New drivers:
         - ISL28022 power monitor
         - Nuvoton NCT7363Y
      
        Added support for new chips to existing drivers:
         - The tmp180 driver now supports NXP p3t1085, including its I3C mode
         - The ina2xx driver now supports SY24655 and INA260
         - The amc6821 driver now supports tsd,mule
      
        Other notable improvements:
         - The sht4x driver now supports the chip heater
         - The pmbus/isl68137 driver now supports a voltage divider on Vout
         - The cros_ec driver registers with the thermal framework
         - The pmbus/ltc2978 driver now supports LTC7841
         - The PMBus core now allow drivers to override WRITE_PROTECT
      
        Various other minor improvements and cleanups"
      
      * tag 'hwmon-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (51 commits)
        hwmon: (pmbus/isl68137) add support for voltage divider on Vout
        dt-bindings: hwmon: isl68137: add bindings to support voltage dividers
        hwmon: tmp108: fix I3C dependency
        hwmon: (cros_ec) register thermal sensors to thermal framework
        hwmon: (tmp108) Add support for I3C device
        hwmon: (tmp108) Add helper function tmp108_common_probe() to prepare I3C support
        hwmon: (acpi_power_meter) Fix fail to load module on platform without _PMD method
        hwmon: (nct6775-core) Fix overflows seen when writing limit attributes
        hwmon: (pwm-fan) Introduce start from stopped state handling
        dt-bindings: hwmon: pwm-fan: Document start from stopped state properties
        hwmon: (tmp108) Add NXP p3t1085 support
        dt-bindings: hwmon: ti,tmp108: Add nxp,p3t1085 compatible string
        hwmon: (sch5627, max31827) Fix typos in driver documentation
        hwmon: (jc42) Drop of_match_ptr() protection
        hwmon: (f71882fg) Fix grammar in fan speed trip points explanation
        dt-bindings: hwmon: pmbus: add ti tps25990 support
        hwmon: (pmbus/core) clear faults after setting smbalert mask
        hwmon: (pmbus/core) allow drivers to override WRITE_PROTECT
        hwmon: (pmbus) add documentation for existing flags
        hwmon: (ina226) Add support for SY24655
        ...
      2b5d5f23
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 4e9ad033
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These include a couple of fixes, a new ACPI backlight quirk for Apple
        MacbookPro11,2 and Air7,2 and a bunch of cleanups:
      
         - Fix _CPC register setting issue for registers located in memory in
           the ACPI CPPC library code (Lifeng Zheng)
      
         - Use DEFINE_SIMPLE_DEV_PM_OPS in the ACPI battery driver, make it
           use devm_ for initializing mutexes and allocating driver data, and
           make it check the register_pm_notifier() return value (Thomas
           Weißschuh, Andy Shevchenko)
      
         - Make the ACPI EC driver support compile-time conditional and allow
           ACPI to be built without CONFIG_HAS_IOPORT (Arnd Bergmann)
      
         - Remove a redundant error check from the pfr_telemetry driver (Colin
           Ian King)
      
         - Rearrange the processor_perflib code in the ACPI processor driver
           to avoid compiling x86-specific code on other architectures (Arnd
           Bergmann)
      
         - Add adev NULL check to acpi_quirk_skip_serdev_enumeration() and
           make UART skip quirks work on PCI UARTs without an UID (Hans de
           Goede)
      
         - Force native backlight handling Apple MacbookPro11,2 and Air7,2 in
           the ACPI video driver (Jonathan Denose)
      
         - Switch several ACPI platform drivers back to using struct
           platform_driver::remove() (Uwe Kleine-König)
      
         - Replace strcpy() with strscpy() in multiple places in the ACPI
           subsystem (Muhammad Qasim Abdul Majeed, Abdul Rahim)"
      
      * tag 'acpi-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)
        ACPI: video: force native for Apple MacbookPro11,2 and Air7,2
        ACPI: CPPC: Fix _CPC register setting issue
        ACPI: Switch back to struct platform_driver::remove()
        ACPI: x86: Add adev NULL check to acpi_quirk_skip_serdev_enumeration()
        ACPI: x86: Make UART skip quirks work on PCI UARTs without an UID
        ACPI: allow building without CONFIG_HAS_IOPORT
        ACPI: processor_perflib: extend X86 dependency
        ACPI: scan: Use strscpy() instead of strcpy()
        ACPI: SBSHC: Use strscpy() instead of strcpy()
        ACPI: SBS: Use strscpy() instead of strcpy()
        ACPI: power: Use strscpy() instead of strcpy()
        ACPI: pci_root: Use strscpy() instead of strcpy()
        ACPI: pci_link: Use strscpy() instead of strcpy()
        ACPI: event: Use strscpy() instead of strcpy()
        ACPI: EC: Use strscpy() instead of strcpy()
        ACPI: APD: Use strscpy() instead of strcpy()
        ACPI: thermal: Use strscpy() instead of strcpy()
        ACPI: battery: Check for error code from devm_mutex_init() call
        ACPI: EC: make EC support compile-time conditional
        ACPI: pfr_telemetry: remove redundant error check on ret
        ...
      4e9ad033
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cd7fa3e1
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These are thermal core changes, including the addition of support for
        temperature thresholds that can be set from user space, fixes related
        to thermal zone initialization, suspend/resume and exit, locking
        rework and rearrangement of the code handling thermal zone temperature
        updates.
      
        Specifics:
      
         - Add support for thermal thresholds that can be added and removed
           from user space via netlink along with a related library update
           (Daniel Lezcano)
      
         - Fix thermal zone initialization, suspend/resume and exit
           synchronization issues (Rafael Wysocki)
      
         - Rearrange locking in the thermal core to use guards (Rafael
           Wysocki)
      
         - Make the code handling thermal zone temperature updates use sorted
           lists of trip points to reduce the number of trip points table
           walks in the thermal core (Rafael Wysocki)
      
         - Fix and clean up the thermal testing facility code (Rafael Wysocki)
      
         - Fix a Power Allocator thermal governor issue (ZhengShaobo)"
      
      * tag 'thermal-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (45 commits)
        thermal: testing: Initialize some variables annoteded with _free()
        thermal: testing: Use DEFINE_FREE() and __free() to simplify code
        thermal: testing: Simplify tt_get_tt_zone()
        thermal: gov_power_allocator: Granted power set to max when nobody request power
        thermal: core: Relocate thermal zone initialization routine
        thermal: core: Use trip lists for trip crossing detection
        thermal: core: Eliminate thermal_zone_trip_down()
        thermal: core: Relocate functions that update trip points
        thermal: core: Move some trip processing to thermal_trip_crossed()
        thermal: core: Pass trip descriptor to thermal_trip_crossed()
        thermal: core: Rearrange __thermal_zone_device_update()
        thermal: core: Prepare for moving trips between sorted lists
        thermal: core: Rename trip list node in struct thermal_trip_desc
        thermal: core: Build sorted lists instead of sorting them later
        thermal/lib: Fix memory leak on error in thermal_genl_auto()
        thermal: thresholds: Fix thermal lock annotation issue
        tools/thermal/thermal-engine: Take into account the thresholds API
        tools/lib/thermal: Add the threshold netlink ABI
        tools/lib/thermal: Make more generic the command encoding function
        thermal: netlink: Add the commands and the events for the thresholds
        ...
      cd7fa3e1
    • Linus Torvalds's avatar
      Merge tag 'pm-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ad52c55e
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "The amd-pstate cpufreq driver gets the majority of changes this time.
        They are mostly fixes and cleanups, but one of them causes it to
        become the default cpufreq driver on some AMD server platforms.
      
        Apart from that, the menu cpuidle governor is modified to not use
        iowait any more, the intel_idle gets a custom C-states table for
        Granite Rapids Xeon D, and the intel_pstate driver will use a more
        aggressive Balance- performance default EPP value on Granite Rapids
        now.
      
        There are also some fixes, cleanups and tooling updates.
      
        Specifics:
      
         - Update the amd-pstate driver to set the initial scaling frequency
           policy lower bound to be the lowest non-linear frequency (Dhananjay
           Ugwekar)
      
         - Enable amd-pstate by default on servers starting with newer AMD
           Epyc processors (Swapnil Sapkal)
      
         - Align more codepaths between shared memory and MSR designs in
           amd-pstate (Dhananjay Ugwekar)
      
         - Clean up amd-pstate code to rename functions and remove redundant
           calls (Dhananjay Ugwekar, Mario Limonciello)
      
         - Do other assorted fixes and cleanups in amd-pstate (Dhananjay
           Ugwekar and Mario Limonciello)
      
         - Change the Balance-performance EPP value for Granite Rapids in the
           intel_pstate driver to a more performance-biased one (Srinivas
           Pandruvada)
      
         - Simplify MSR read on the boot CPU in the ACPI cpufreq driver (Chang
           S. Bae)
      
         - Ensure sugov_eas_rebuild_sd() is always called when sugov_init()
           succeeds to always enforce sched domains rebuild in case EAS needs
           to be enabled (Christian Loehle)
      
         - Switch cpufreq back to platform_driver::remove() (Uwe Kleine-König)
      
         - Use proper frequency unit names in cpufreq (Marcin Juszkiewicz)
      
         - Add a built-in idle states table for Granite Rapids Xeon D to the
           intel_idle driver (Artem Bityutskiy)
      
         - Fix some typos in comments in the cpuidle core and drivers (Shen
           Lichuan)
      
         - Remove iowait influence from the menu cpuidle governor (Christian
           Loehle)
      
         - Add min/max available performance state limits to the Energy Model
           management code (Lukasz Luba)
      
         - Update pm-graph to v5.13 (Todd Brandt)
      
         - Add documentation for some recently introduced cpupower utility
           options (Tor Vic)
      
         - Make cpupower inform users where cpufreq-bench.conf should be
           located when opening it fails (Peng Fan)
      
         - Allow overriding cross-compiling env params in cpupower (Peng Fan)
      
         - Add compile_commands.json to .gitignore in cpupower (John B. Wyatt
           IV)
      
         - Improve disable c_state block in cpupower bindings and add a test
           to confirm that CPU state is disabled to it (John B. Wyatt IV)
      
         - Add Chinese Simplified translation to cpupower (Kieran Moy)
      
         - Add checks for xgettext and msgfmt to cpupower (Siddharth Menon)"
      
      * tag 'pm-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (38 commits)
        cpufreq: intel_pstate: Update Balance-performance EPP for Granite Rapids
        cpufreq: ACPI: Simplify MSR read on the boot CPU
        sched/cpufreq: Ensure sd is rebuilt for EAS check
        intel_idle: add Granite Rapids Xeon D support
        PM: EM: Add min/max available performance state limits
        cpufreq/amd-pstate: Move registration after static function call update
        cpufreq/amd-pstate: Push adjust_perf vfunc init into cpu_init
        cpufreq/amd-pstate: Align offline flow of shared memory and MSR based systems
        cpufreq/amd-pstate: Call cppc_set_epp_perf in the reenable function
        cpufreq/amd-pstate: Do not attempt to clear MSR_AMD_CPPC_ENABLE
        cpufreq/amd-pstate: Rename functions that enable CPPC
        cpufreq/amd-pstate-ut: Add fix for min freq unit test
        amd-pstate: Switch to amd-pstate by default on some Server platforms
        amd-pstate: Set min_perf to nominal_perf for active mode performance gov
        cpufreq/amd-pstate: Remove the redundant amd_pstate_set_driver() call
        cpufreq/amd-pstate: Remove the switch case in amd_pstate_init()
        cpufreq/amd-pstate: Call amd_pstate_set_driver() in amd_pstate_register_driver()
        cpufreq/amd-pstate: Call amd_pstate_register() in amd_pstate_init()
        cpufreq/amd-pstate: Set the initial min_freq to lowest_nonlinear_freq
        cpufreq/amd-pstate: Remove the redundant verify() function
        ...
      ad52c55e
    • Linus Torvalds's avatar
      Merge tag 'random-6.13-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · 8a7fa811
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
       "This contains a single series from Uros to replace uses of
        <linux/random.h> with prandom.h or other more specific headers
        as needed, in order to avoid a circular header issue.
      
        Uros' goal is to be able to use percpu.h from prandom.h, which
        will then allow him to define __percpu in percpu.h rather than
        in compiler_types.h"
      
      * tag 'random-6.13-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        prandom: Include <linux/percpu.h> in <linux/prandom.h>
        random: Do not include <linux/prandom.h> in <linux/random.h>
        netem: Include <linux/prandom.h> in sch_netem.c
        lib/test_scanf: Include <linux/prandom.h> instead of <linux/random.h>
        lib/test_parman: Include <linux/prandom.h> instead of <linux/random.h>
        bpf/tests: Include <linux/prandom.h> instead of <linux/random.h>
        lib/rbtree-test: Include <linux/prandom.h> instead of <linux/random.h>
        random32: Include <linux/prandom.h> instead of <linux/random.h>
        kunit: string-stream-test: Include <linux/prandom.h>
        lib/interval_tree_test.c: Include <linux/prandom.h> instead of <linux/random.h>
        bpf: Include <linux/prandom.h> instead of <linux/random.h>
        scsi: libfcoe: Include <linux/prandom.h> instead of <linux/random.h>
        fscrypt: Include <linux/once.h> in fs/crypto/keyring.c
        mtd: tests: Include <linux/prandom.h> instead of <linux/random.h>
        media: vivid: Include <linux/prandom.h> in vivid-vid-cap.c
        drm/lib: Include <linux/prandom.h> instead of <linux/random.h>
        drm/i915/selftests: Include <linux/prandom.h> instead of <linux/random.h>
        crypto: testmgr: Include <linux/prandom.h> instead of <linux/random.h>
        x86/kaslr: Include <linux/prandom.h> instead of <linux/random.h>
      8a7fa811
    • Linus Torvalds's avatar
      Merge tag 'v6.13-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 02b2f1a7
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Add sig driver API
         - Remove signing/verification from akcipher API
         - Move crypto_simd_disabled_for_test to lib/crypto
         - Add WARN_ON for return values from driver that indicates memory
           corruption
      
        Algorithms:
         - Provide crc32-arch and crc32c-arch through Crypto API
         - Optimise crc32c code size on x86
         - Optimise crct10dif on arm/arm64
         - Optimise p10-aes-gcm on powerpc
         - Optimise aegis128 on x86
         - Output full sample from test interface in jitter RNG
         - Retry without padata when it fails in pcrypt
      
        Drivers:
         - Add support for Airoha EN7581 TRNG
         - Add support for STM32MP25x platforms in stm32
         - Enable iproc-r200 RNG driver on BCMBCA
         - Add Broadcom BCM74110 RNG driver"
      
      * tag 'v6.13-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (112 commits)
        crypto: marvell/cesa - fix uninit value for struct mv_cesa_op_ctx
        crypto: cavium - Fix an error handling path in cpt_ucode_load_fw()
        crypto: aesni - Move back to module_init
        crypto: lib/mpi - Export mpi_set_bit
        crypto: aes-gcm-p10 - Use the correct bit to test for P10
        hwrng: amd - remove reference to removed PPC_MAPLE config
        crypto: arm/crct10dif - Implement plain NEON variant
        crypto: arm/crct10dif - Macroify PMULL asm code
        crypto: arm/crct10dif - Use existing mov_l macro instead of __adrl
        crypto: arm64/crct10dif - Remove remaining 64x64 PMULL fallback code
        crypto: arm64/crct10dif - Use faster 16x64 bit polynomial multiply
        crypto: arm64/crct10dif - Remove obsolete chunking logic
        crypto: bcm - add error check in the ahash_hmac_init function
        crypto: caam - add error check to caam_rsa_set_priv_key_form
        hwrng: bcm74110 - Add Broadcom BCM74110 RNG driver
        dt-bindings: rng: add binding for BCM74110 RNG
        padata: Clean up in padata_do_multithreaded()
        crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
        crypto: qat - Fix missing destroy_workqueue in adf_init_aer()
        crypto: rsassa-pkcs1 - Reinstate support for legacy protocols
        ...
      02b2f1a7
    • Linus Torvalds's avatar
      Merge tag 'chrome-platform-firmware-for-6.13' of... · 1af29b34
      Linus Torvalds authored
      Merge tag 'chrome-platform-firmware-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform firmware updates from Tzung-Bi Shih:
      
       - Do not double register "simple-framebuffer" platform device if
         Generic System Framebuffers (sysfb) already did that
      
       - Fix a missing of unregistering platform driver in error handling path
      
      * tag 'chrome-platform-firmware-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        firmware: google: Unregister driver_info on failure
        firmware: coreboot: Don't register a pdev if screen_info data is present
        firmware: sysfb: Add a sysfb_handles_screen_info() helper function
      1af29b34
    • Linus Torvalds's avatar
      Merge tag 'chrome-platform-for-6.13' of... · 78516f4a
      Linus Torvalds authored
      Merge tag 'chrome-platform-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Tzung-Bi Shih:
       "Fixes:
         - Fix a leak of fwnode refcount.
      
        Cleanups:
         - Drop unused I2C driver data
         - Move back from platform_driver::remove_new() to
           platform_driver::remove()"
      
      * tag 'chrome-platform-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        platform/chrome: Switch back to struct platform_driver::remove()
        platform/chrome: cros_ec_typec: fix missing fwnode reference decrement
        platform/chrome: Drop explicit initialization of struct i2c_device_id::driver_data to 0
      78516f4a
    • Linus Torvalds's avatar
      Merge tag 'csd-lock.2024.11.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 311e062a
      Linus Torvalds authored
      Pull CSD-lock update from Paul McKenney:
       "This switches from sched_clock() to ktime_get_mono_fast_ns(), which on
        x86 switches from the rdtsc instruction to the rdtscp instruction,
        thus avoiding instruction reorderings that cause false-positive
        reports of CSD-lock stalls of almost 2^46 nanoseconds. These false
        positives are rare, but really are seen in the wild"
      
      * tag 'csd-lock.2024.11.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        locking/csd-lock: Switch from sched_clock() to ktime_get_mono_fast_ns()
      311e062a
    • Linus Torvalds's avatar
      Merge tag 'scftorture.2024.11.16a' of... · d7d4102f
      Linus Torvalds authored
      Merge tag 'scftorture.2024.11.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
      
      Pull scftorture updates from Paul McKenney:
      
       - Avoid divide operation
      
       - Fix cleanup code waiting for IPI handlers
      
       - Move memory allocations out of preempt-disable region of code for
         PREEMPT_RT compatibility
      
       - Use a lockless list to avoid freeing memory while interrupts are
         disabled, again for PREEMPT_RT compatibility
      
       - Make lockless list scf_add_to_free_list() correctly handle freeing a
         NULL pointer
      
      * tag 'scftorture.2024.11.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        scftorture: Handle NULL argument passed to scf_add_to_free_list().
        scftorture: Use a lock-less list to free memory.
        scftorture: Move memory allocation outside of preempt_disable region.
        scftorture: Wait until scf_cleanup_handler() completes.
        scftorture: Avoid additional div operation.
      d7d4102f
    • Linus Torvalds's avatar
      Merge tag 'nolibc.2024.11.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 26c9fdd6
      Linus Torvalds authored
      Pull nolibc updates from Paul McKenney:
      
       - Fix potential error due to missing #include on s390
      
       - Compatibility with -Wmissing-fallthrough
      
       - Run qemu with more memory during tests
      
      * tag 'nolibc.2024.11.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        selftests/nolibc: start qemu with 1 GiB of memory
        tools/nolibc: compiler: add macro __nolibc_fallthrough
        tools/nolibc: s390: include std.h
      26c9fdd6
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 158f238a
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a series for booting as a PVH guest, doing some cleanups after the
         previous work to make PVH boot code position independent
      
       - a fix of the xenbus driver avoiding a leak in an error case
      
      * tag 'for-linus-6.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: Fix the issue of resource not being properly released in xenbus_dev_probe()
        x86/pvh: Avoid absolute symbol references in .head.text
        x86/xen: Avoid relocatable quantities in Xen ELF notes
        x86/pvh: Omit needless clearing of phys_base
        x86/pvh: Use correct size value in GDT descriptor
        x86/pvh: Call C code via the kernel virtual mapping
      158f238a
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ba1f9c8f
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - Support for running Linux in a protected VM under the Arm
         Confidential Compute Architecture (CCA)
      
       - Guarded Control Stack user-space support. Current patches follow the
         x86 ABI of implicitly creating a shadow stack on clone(). Subsequent
         patches (already on the list) will add support for clone3() allowing
         finer-grained control of the shadow stack size and placement from
         libc
      
       - AT_HWCAP3 support (not running out of HWCAP2 bits yet but we are
         getting close with the upcoming dpISA support)
      
       - Other arch features:
      
           - In-kernel use of the memcpy instructions, FEAT_MOPS (previously
             only exposed to user; uaccess support not merged yet)
      
           - MTE: hugetlbfs support and the corresponding kselftests
      
           - Optimise CRC32 using the PMULL instructions
      
           - Support for FEAT_HAFT enabling ARCH_HAS_NONLEAF_PMD_YOUNG
      
           - Optimise the kernel TLB flushing to use the range operations
      
           - POE/pkey (permission overlays): further cleanups after bringing
             the signal handler in line with the x86 behaviour for 6.12
      
       - arm64 perf updates:
      
           - Support for the NXP i.MX91 PMU in the existing IMX driver
      
           - Support for Ampere SoCs in the Designware PCIe PMU driver
      
           - Support for Marvell's 'PEM' PCIe PMU present in the 'Odyssey' SoC
      
           - Support for Samsung's 'Mongoose' CPU PMU
      
           - Support for PMUv3.9 finer-grained userspace counter access
             control
      
           - Switch back to platform_driver::remove() now that it returns
             'void'
      
           - Add some missing events for the CXL PMU driver
      
       - Miscellaneous arm64 fixes/cleanups:
      
           - Page table accessors cleanup: type updates, drop unused macros,
             reorganise arch_make_huge_pte() and clean up pte_mkcont(), sanity
             check addresses before runtime P4D/PUD folding
      
           - Command line override for ID_AA64MMFR0_EL1.ECV (advertising the
             FEAT_ECV for the generic timers) allowing Linux to boot with
             firmware deployments that don't set SCTLR_EL3.ECVEn
      
           - ACPI/arm64: tighten the check for the array of platform timer
             structures and adjust the error handling procedure in
             gtdt_parse_timer_block()
      
           - Optimise the cache flush for the uprobes xol slot (skip if no
             change) and other uprobes/kprobes cleanups
      
           - Fix the context switching of tpidrro_el0 when kpti is enabled
      
           - Dynamic shadow call stack fixes
      
           - Sysreg updates
      
           - Various arm64 kselftest improvements
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (168 commits)
        arm64: tls: Fix context-switching of tpidrro_el0 when kpti is enabled
        kselftest/arm64: Try harder to generate different keys during PAC tests
        kselftest/arm64: Don't leak pipe fds in pac.exec_sign_all()
        arm64/ptrace: Clarify documentation of VL configuration via ptrace
        kselftest/arm64: Corrupt P0 in the irritator when testing SSVE
        acpi/arm64: remove unnecessary cast
        arm64/mm: Change protval as 'pteval_t' in map_range()
        kselftest/arm64: Fix missing printf() argument in gcs/gcs-stress.c
        kselftest/arm64: Add FPMR coverage to fp-ptrace
        kselftest/arm64: Expand the set of ZA writes fp-ptrace does
        kselftets/arm64: Use flag bits for features in fp-ptrace assembler code
        kselftest/arm64: Enable build of PAC tests with LLVM=1
        kselftest/arm64: Check that SVCR is 0 in signal handlers
        selftests/mm: Fix unused function warning for aarch64_write_signal_pkey()
        kselftest/arm64: Fix printf() compiler warnings in the arm64 syscall-abi.c tests
        kselftest/arm64: Fix printf() warning in the arm64 MTE prctl() test
        kselftest/arm64: Fix printf() compiler warnings in the arm64 fp tests
        kselftest/arm64: Fix build with stricter assemblers
        arm64/scs: Drop unused prototype __pi_scs_patch_vmlinux()
        arm64/scs: Deal with 64-bit relative offsets in FDE frames
        ...
      ba1f9c8f
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 9aa4c37f
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Revive SCSI and early console support on MVME147
      
       - Fix early kernel parameters using static keys
      
       - Prevent and improve handling of kernel configurations that lack
         specific platform, CPU, or MMU support, to avoid build failures
      
       - Miscellaneous fixes and improvements
      
       - Defconfig updates
      
      * tag 'm68k-for-v6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: defconfig: Update defconfigs for v6.12-rc1
        m68k: mvme147: Reinstate early console
        m68k: Make sure NR_IRQS is never zero
        m68k: Select M68020 as fallback for classic
        m68k: Move Sun 3 into a top-level platform option
        m68k: kernel: Use str_read_write() helper function
        m68k: Initialize jump labels early during setup_arch()
        m68k: mvme147: Fix SCSI controller IRQ numbers
        m68k: mvme147: Make mvme147_sched_init() __init
      9aa4c37f
Loading