Skip to content
  1. Jul 31, 2025
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2025-07-30' of https://gitlab.freedesktop.org/drm/kernel · 260f6f4f
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Highlights:
      
         - Intel xe enable Panthor Lake, started adding WildCat Lake
      
         - amdgpu has a bunch of reset improvments along with the usual IP
           updates
      
         - msm got VM_BIND support which is important for vulkan sparse memory
      
         - more drm_panic users
      
         - gpusvm common code to handle a bunch of core SVM work outside
           drivers.
      
        Detail summary:
      
        Changes outside drm subdirectory:
         - 'shrink_shmem_memory()' for better shmem/hibernate interaction
         - Rust support infrastructure:
            - make ETIMEDOUT available
            - add size constants up to SZ_2G
            - add DMA coherent allocation bindings
         - mtd driver for Intel GPU non-volatile storage
         - i2c designware quirk for Intel xe
      
        core:
         - atomic helpers: tune enable/disable sequences
         - add task info to wedge API
         - refactor EDID quirks
         - connector: move HDR sink to drm_display_info
         - fourcc: half-float and 32-bit float formats
         - mode_config: pass format info to simplify
      
        dma-buf:
         - heaps: Give CMA heap a stable name
      
        ci:
         - add device tree validation and kunit
      
        displayport:
         - change AUX DPCD access probe address
         - add quirk for DPCD probe
         - add panel replay definitions
         - backlight control helpers
      
        fbdev:
         - make CONFIG_FIRMWARE_EDID available on all arches
      
        fence:
         - fix UAF issues
      
        format-helper:
         - improve tests
      
        gpusvm:
         - introduce devmem only flag for allocation
         - add timeslicing support to GPU SVM
      
        ttm:
         - improve eviction
      
        sched:
         - tracing improvements
         - kunit improvements
         - memory leak fixes
         - reset handling improvements
      
        color mgmt:
         - add hardware gamma LUT handling helpers
      
        bridge:
         - add destroy hook
         - switch to reference counted drm_bridge allocations
         - tc358767: convert to devm_drm_bridge_alloc
         - improve CEC handling
      
        panel:
         - switch to reference counter drm_panel allocations
         - fwnode panel lookup
         - Huiling hl055fhv028c support
         - Raspberry Pi 7" 720x1280 support
         - edp: KDC KD116N3730A05, N160JCE-ELL CMN, N116BCJ-EAK
         - simple: AUO P238HAN01
         - st7701: Winstar wf40eswaa6mnn0
         - visionox: rm69299-shift
         - Renesas R61307, Renesas R69328 support
         - DJN HX83112B
      
        hdmi:
         - add CEC handling
         - YUV420 output support
      
        xe:
         - WildCat Lake support
         - Enable PanthorLake by default
         - mark BMG as SRIOV capable
         - update firmware recommendations
         - Expose media OA units
         - aux-bux support for non-volatile memory
         - MTD intel-dg driver for non-volatile memory
         - Expose fan control and voltage regulator in sysfs
         - restructure migration for multi-device
         - Restore GuC submit UAF fix
         - make GEM shrinker drm managed
         - SRIOV VF Post-migration recovery of GGTT nodes
         - W/A additions/reworks
         - Prefetch support for svm ranges
         - Don't allocate managed BO for each policy change
         - HWMON fixes for BMG
         - Create LRC BO without VM
         - PCI ID updates
         - make SLPC debugfs files optional
         - rework eviction rejection of bound external BOs
         - consolidate PAT programming logic for pre/post Xe2
         - init changes for flicker-free boot
         - Enable GuC Dynamic Inhibit Context switch
      
        i915:
         - drm_panic support for i915/xe
         - initial flip queue off by default for LNL/PNL
         - Wildcat Lake Display support
         - Support for DSC fractional link bpp
         - Support for simultaneous Panel Replay and Adaptive sync
         - Support for PTL+ double buffer LUT
         - initial PIPEDMC event handling
         - drm_panel_follower support
         - DPLL interface renames
         - allocate struct intel_display dynamically
         - flip queue preperation
         - abstract DRAM detection better
         - avoid GuC scheduling stalls
         - remove DG1 force probe requirement
         - fix MEI interrupt handler on RT kernels
         - use backlight control helpers for eDP
         - more shared display code refactoring
      
        amdgpu:
         - add userq slot to INFO ioctl
         - SR-IOV hibernation support
         - Suspend improvements
         - Backlight improvements
         - Use scaling for non-native eDP modes
         - cleaner shader updates for GC 9.x
         - Remove fence slab
         - SDMA fw checks for userq support
         - RAS updates
         - DMCUB updates
         - DP tunneling fixes
         - Display idle D3 support
         - Per queue reset improvements
         - initial smartmux support
      
        amdkfd:
         - enable KFD on loongarch
         - mtype fix for ext coherent system memory
      
        radeon:
         - CS validation additional GL extensions
         - drop console lock during suspend/resume
         - bump driver version
      
        msm:
         - VM BIND support
         - CI: infrastructure updates
         - UBWC single source of truth
         - decouple GPU and KMS support
         - DP: rework I/O accessors
         - DPU: SM8750 support
         - DSI: SM8750 support
         - GPU: X1-45 support and speedbin support for X1-85
         - MDSS: SM8750 support
      
        nova:
         - register! macro improvements
         - DMA object abstraction
         - VBIOS parser + fwsec lookup
         - sysmem flush page support
         - falcon: generic falcon boot code and HAL
         - FWSEC-FRTS: fb setup and load/execute
      
        ivpu:
         - Add Wildcat Lake support
         - Add turbo flag
      
        ast:
         - improve hardware generations implementation
      
        imx:
         - IMX8qxq Display Controller support
      
        lima:
         - Rockchip RK3528 GPU support
      
        nouveau:
         - fence handling cleanup
      
        panfrost:
         - MT8370 support
         - bo labeling
         - 64-bit register access
      
        qaic:
         - add RAS support
      
        rockchip:
         - convert inno_hdmi to a bridge
      
        rz-du:
         - add RZ/V2H(P) support
         - MIPI-DSI DCS support
      
        sitronix:
         - ST7567 support
      
        sun4i:
         - add H616 support
      
        tidss:
         - add TI AM62L support
         - AM65x OLDI bridge support
      
        bochs:
         - drm panic support
      
        vkms:
         - YUV and R* format support
         - use faux device
      
        vmwgfx:
         - fence improvements
      
        hyperv:
         - move out of simple
         - add drm_panic support"
      
      * tag 'drm-next-2025-07-30' of https://gitlab.freedesktop.org/drm/kernel: (1479 commits)
        drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
        drm/tidss: encoder: convert to devm_drm_bridge_alloc()
        drm/amdgpu: move reset support type checks into the caller
        drm/amdgpu/sdma7: re-emit unprocessed state on ring reset
        drm/amdgpu/sdma6: re-emit unprocessed state on ring reset
        drm/amdgpu/sdma5.2: re-emit unprocessed state on ring reset
        drm/amdgpu/sdma5: re-emit unprocessed state on ring reset
        drm/amdgpu/gfx12: re-emit unprocessed state on ring reset
        drm/amdgpu/gfx11: re-emit unprocessed state on ring reset
        drm/amdgpu/gfx10: re-emit unprocessed state on ring reset
        drm/amdgpu/gfx9.4.3: re-emit unprocessed state on kcq reset
        drm/amdgpu/gfx9: re-emit unprocessed state on kcq reset
        drm/amdgpu: Add WARN_ON to the resource clear function
        drm/amd/pm: Use cached metrics data on SMUv13.0.6
        drm/amd/pm: Use cached data for min/max clocks
        gpu: nova-core: fix bounds check in PmuLookupTableEntry::new
        drm/amdgpu: Replace HQD terminology with slots naming
        drm/amdgpu: Add user queue instance count in HW IP info
        drm/amd/amdgpu: Add helper functions for isp buffers
        drm/amd/amdgpu: Initialize swnode for ISP MFD device
        ...
      260f6f4f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 63eb28bb
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
      
         - Host driver for GICv5, the next generation interrupt controller for
           arm64, including support for interrupt routing, MSIs, interrupt
           translation and wired interrupts
      
         - Use FEAT_GCIE_LEGACY on GICv5 systems to virtualize GICv3 VMs on
           GICv5 hardware, leveraging the legacy VGIC interface
      
         - Userspace control of the 'nASSGIcap' GICv3 feature, allowing
           userspace to disable support for SGIs w/o an active state on
           hardware that previously advertised it unconditionally
      
         - Map supporting endpoints with cacheable memory attributes on
           systems with FEAT_S2FWB and DIC where KVM no longer needs to
           perform cache maintenance on the address range
      
         - Nested support for FEAT_RAS and FEAT_DoubleFault2, allowing the
           guest hypervisor to inject external aborts into an L2 VM and take
           traps of masked external aborts to the hypervisor
      
         - Convert more system register sanitization to the config-driven
           implementation
      
         - Fixes to the visibility of EL2 registers, namely making VGICv3
           system registers accessible through the VGIC device instead of the
           ONE_REG vCPU ioctls
      
         - Various cleanups and minor fixes
      
        LoongArch:
      
         - Add stat information for in-kernel irqchip
      
         - Add tracepoints for CPUCFG and CSR emulation exits
      
         - Enhance in-kernel irqchip emulation
      
         - Various cleanups
      
        RISC-V:
      
         - Enable ring-based dirty memory tracking
      
         - Improve perf kvm stat to report interrupt events
      
         - Delegate illegal instruction trap to VS-mode
      
         - MMU improvements related to upcoming nested virtualization
      
        s390x
      
         - Fixes
      
        x86:
      
         - Add CONFIG_KVM_IOAPIC for x86 to allow disabling support for I/O
           APIC, PIC, and PIT emulation at compile time
      
         - Share device posted IRQ code between SVM and VMX and harden it
           against bugs and runtime errors
      
         - Use vcpu_idx, not vcpu_id, for GA log tag/metadata, to make lookups
           O(1) instead of O(n)
      
         - For MMIO stale data mitigation, track whether or not a vCPU has
           access to (host) MMIO based on whether the page tables have MMIO
           pfns mapped; using VFIO is prone to false negatives
      
         - Rework the MSR interception code so that the SVM and VMX APIs are
           more or less identical
      
         - Recalculate all MSR intercepts from scratch on MSR filter changes,
           instead of maintaining shadow bitmaps
      
         - Advertise support for LKGS (Load Kernel GS base), a new instruction
           that's loosely related to FRED, but is supported and enumerated
           independently
      
         - Fix a user-triggerable WARN that syzkaller found by setting the
           vCPU in INIT_RECEIVED state (aka wait-for-SIPI), and then putting
           the vCPU into VMX Root Mode (post-VMXON). Trying to detect every
           possible path leading to architecturally forbidden states is hard
           and even risks breaking userspace (if it goes from valid to valid
           state but passes through invalid states), so just wait until
           KVM_RUN to detect that the vCPU state isn't allowed
      
         - Add KVM_X86_DISABLE_EXITS_APERFMPERF to allow disabling
           interception of APERF/MPERF reads, so that a "properly" configured
           VM can access APERF/MPERF. This has many caveats (APERF/MPERF
           cannot be zeroed on vCPU creation or saved/restored on suspend and
           resume, or preserved over thread migration let alone VM migration)
           but can be useful whenever you're interested in letting Linux
           guests see the effective physical CPU frequency in /proc/cpuinfo
      
         - Reject KVM_SET_TSC_KHZ for vm file descriptors if vCPUs have been
           created, as there's no known use case for changing the default
           frequency for other VM types and it goes counter to the very reason
           why the ioctl was added to the vm file descriptor. And also, there
           would be no way to make it work for confidential VMs with a
           "secure" TSC, so kill two birds with one stone
      
         - Dynamically allocation the shadow MMU's hashed page list, and defer
           allocating the hashed list until it's actually needed (the TDP MMU
           doesn't use the list)
      
         - Extract many of KVM's helpers for accessing architectural local
           APIC state to common x86 so that they can be shared by guest-side
           code for Secure AVIC
      
         - Various cleanups and fixes
      
        x86 (Intel):
      
         - Preserve the host's DEBUGCTL.FREEZE_IN_SMM when running the guest.
           Failure to honor FREEZE_IN_SMM can leak host state into guests
      
         - Explicitly check vmcs12.GUEST_DEBUGCTL on nested VM-Enter to
           prevent L1 from running L2 with features that KVM doesn't support,
           e.g. BTF
      
        x86 (AMD):
      
         - WARN and reject loading kvm-amd.ko instead of panicking the kernel
           if the nested SVM MSRPM offsets tracker can't handle an MSR (which
           is pretty much a static condition and therefore should never
           happen, but still)
      
         - Fix a variety of flaws and bugs in the AVIC device posted IRQ code
      
         - Inhibit AVIC if a vCPU's ID is too big (relative to what hardware
           supports) instead of rejecting vCPU creation
      
         - Extend enable_ipiv module param support to SVM, by simply leaving
           IsRunning clear in the vCPU's physical ID table entry
      
         - Disable IPI virtualization, via enable_ipiv, if the CPU is affected
           by erratum #1235, to allow (safely) enabling AVIC on such CPUs
      
         - Request GA Log interrupts if and only if the target vCPU is
           blocking, i.e. only if KVM needs a notification in order to wake
           the vCPU
      
         - Intercept SPEC_CTRL on AMD if the MSR shouldn't exist according to
           the vCPU's CPUID model
      
         - Accept any SNP policy that is accepted by the firmware with respect
           to SMT and single-socket restrictions. An incompatible policy
           doesn't put the kernel at risk in any way, so there's no reason for
           KVM to care
      
         - Drop a superfluous WBINVD (on all CPUs!) when destroying a VM and
           use WBNOINVD instead of WBINVD when possible for SEV cache
           maintenance
      
         - When reclaiming memory from an SEV guest, only do cache flushes on
           CPUs that have ever run a vCPU for the guest, i.e. don't flush the
           caches for CPUs that can't possibly have cache lines with dirty,
           encrypted data
      
        Generic:
      
         - Rework irqbypass to track/match producers and consumers via an
           xarray instead of a linked list. Using a linked list leads to
           O(n^2) insertion times, which is hugely problematic for use cases
           that create large numbers of VMs. Such use cases typically don't
           actually use irqbypass, but eliminating the pointless registration
           is a future problem to solve as it likely requires new uAPI
      
         - Track irqbypass's "token" as "struct eventfd_ctx *" instead of a
           "void *", to avoid making a simple concept unnecessarily difficult
           to understand
      
         - Decouple device posted IRQs from VFIO device assignment, as binding
           a VM to a VFIO group is not a requirement for enabling device
           posted IRQs
      
         - Clean up and document/comment the irqfd assignment code
      
         - Disallow binding multiple irqfds to an eventfd with a priority
           waiter, i.e. ensure an eventfd is bound to at most one irqfd
           through the entire host, and add a selftest to verify eventfd:irqfd
           bindings are globally unique
      
         - Add a tracepoint for KVM_SET_MEMORY_ATTRIBUTES to help debug issues
           related to private <=> shared memory conversions
      
         - Drop guest_memfd's .getattr() implementation as the VFS layer will
           call generic_fillattr() if inode_operations.getattr is NULL
      
         - Fix issues with dirty ring harvesting where KVM doesn't bound the
           processing of entries in any way, which allows userspace to keep
           KVM in a tight loop indefinitely
      
         - Kill off kvm_arch_{start,end}_assignment() and x86's associated
           tracking, now that KVM no longer uses assigned_device_count as a
           heuristic for either irqbypass usage or MDS mitigation
      
        Selftests:
      
         - Fix a comment typo
      
         - Verify KVM is loaded when getting any KVM module param so that
           attempting to run a selftest without kvm.ko loaded results in a
           SKIP message about KVM not being loaded/enabled (versus some random
           parameter not existing)
      
         - Skip tests that hit EACCES when attempting to access a file, and
           print a "Root required?" help message. In most cases, the test just
           needs to be run with elevated permissions"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (340 commits)
        Documentation: KVM: Use unordered list for pre-init VGIC registers
        RISC-V: KVM: Avoid re-acquiring memslot in kvm_riscv_gstage_map()
        RISC-V: KVM: Use find_vma_intersection() to search for intersecting VMAs
        RISC-V: perf/kvm: Add reporting of interrupt events
        RISC-V: KVM: Enable ring-based dirty memory tracking
        RISC-V: KVM: Fix inclusion of Smnpm in the guest ISA bitmap
        RISC-V: KVM: Delegate illegal instruction fault to VS mode
        RISC-V: KVM: Pass VMID as parameter to kvm_riscv_hfence_xyz() APIs
        RISC-V: KVM: Factor-out g-stage page table management
        RISC-V: KVM: Add vmid field to struct kvm_riscv_hfence
        RISC-V: KVM: Introduce struct kvm_gstage_mapping
        RISC-V: KVM: Factor-out MMU related declarations into separate headers
        RISC-V: KVM: Use ncsr_xyz() in kvm_riscv_vcpu_trap_redirect()
        RISC-V: KVM: Implement kvm_arch_flush_remote_tlbs_range()
        RISC-V: KVM: Don't flush TLB when PTE is unchanged
        RISC-V: KVM: Replace KVM_REQ_HFENCE_GVMA_VMID_ALL with KVM_REQ_TLB_FLUSH
        RISC-V: KVM: Rename and move kvm_riscv_local_tlb_sanitize()
        RISC-V: KVM: Drop the return value of kvm_riscv_vcpu_aia_init()
        RISC-V: KVM: Check kvm_riscv_vcpu_alloc_vector_context() return value
        KVM: arm64: selftests: Add FEAT_RAS EL2 registers to get-reg-list
        ...
      63eb28bb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 7d767a95
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - fix for a UAF in the xen gntdev-dmabuf driver
      
       - fix in the xen netfront driver avoiding spurious interrupts
      
       - fix in the gntdev driver avoiding a large stack allocation
      
       - cleanup removing some dead code
      
       - build warning fix
      
       - cleanup of the sysfs code in the xen-pciback driver
      
      * tag 'for-linus-6.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/netfront: Fix TX response spurious interrupts
        xen/gntdev: remove struct gntdev_copy_batch from stack
        xen: fix UAF in dmabuf_exp_from_pages()
        xen: Remove some deadcode (x)
        xen-pciback: Replace scnprintf() with sysfs_emit_at()
        xen/xenbus: fix W=1 build warning in xenbus_va_dev_error function
      7d767a95
  2. Jul 30, 2025
    • Linus Torvalds's avatar
      Merge tag 'trace-unused-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 2be6a750
      Linus Torvalds authored
      Pull tracepoint cleanup from Steven Rostedt:
       "Remove or hide unused tracepoints
      
        Tracepoints take up memory (around 5K per tracepoint) even when they
        are unused. Changes are being made to detect when a tracepoint is
        defined but unused and a warning is shown at build. But those changes
        are not yet ready for inclusion.
      
         - Fix some of the unused tracepoints that it detected
      
           Some tracepoints were removed and others were hidden by config
           settings to match the config settings of where they are
           instantiated. Some tracepoints were moved into architecture
           specific code as only one architecture used them.
      
         - Call the ftrace_test_filter tracepoint in an unreachable if
           statement
      
           The ftrace_test_filter tracepoint which is defined when ftrace
           selftests are configured and is used to test the filter logic, but
           the tracepoint is not actually called. It is put into an if
           statement to not have it get compiled out, but also not warn for
           not being used"
      
      * tag 'trace-unused-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: sched: Hide numa events under CONFIG_NUMA_BALANCING
        powerpc/thp: tracing: Hide hugepage events under CONFIG_PPC_BOOK3S_64
        tracing: Call trace_ftrace_test_filter() for the event
        tracing: arm: arm64: Hide trace events ipi_raise, ipi_entry and ipi_exit
        binder: Remove unused binder lock events
        PM: tracing: Hide power_domain_target event under ARCH_OMAP2PLUS
        PM: tracing: Hide device_pm_callback events under PM_SLEEP
        PM: tracing: Hide psci_domain_idle events under ARM_PSCI_CPUIDLE
        PM: cpufreq: powernv/tracing: Move powernv_throttle trace event
        alarmtimer: Hide alarmtimer_suspend event when RTC_CLASS is not configured
        tracing, AER: Hide PCIe AER event when PCIEAER is not configured
      2be6a750
    • Linus Torvalds's avatar
      Merge tag 'trace-rv-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 4ff261e7
      Linus Torvalds authored
      Pull runtime verification updates from Steven Rostedt:
      
       - Added Linear temporal logic monitors for RT application
      
         Real-time applications may have design flaws causing them to have
         unexpected latency. For example, the applications may raise page
         faults, or may be blocked trying to take a mutex without priority
         inheritance.
      
         However, while attempting to implement DA monitors for these
         real-time rules, deterministic automaton is found to be inappropriate
         as the specification language. The automaton is complicated, hard to
         understand, and error-prone.
      
         For these cases, linear temporal logic is found to be more suitable.
         The LTL is more concise and intuitive.
      
       - Make printk_deferred() public
      
         The new monitors needed access to printk_deferred(). Make them
         visible for the entire kernel.
      
       - Add a vpanic() to allow for va_list to be passed to panic.
      
       - Add rtapp container monitor.
      
         A collection of monitors that check for common problems with
         real-time applications that cause unexpected latency.
      
       - Add page fault tracepoints to risc-v
      
         These tracepoints are necessary to for the RV monitor to run on
         risc-v.
      
       - Fix the behaviour of the rv tool with -s and idle tasks.
      
       - Allow the rv tool to gracefully terminate with SIGTERM
      
       - Adjusts dot2c not to create lines over 100 columns
      
       - Properly order nested monitors in the RV Kconfig file
      
       - Return the registration error in all DA monitor instead of 0
      
       - Update and add new sched collection monitors
      
         Replace tss and sncid monitors with more complete sts:
      
         Not only prove that switches occur in scheduling context and scheduling
         needs interrupt disabled but also that each call to the scheduler
         disables interrupts to (optionally) switch.
      
         New monitor: nrp
           Preemption requires need resched which is cleared by any switch
           (includes a non optimal workaround for /nested/ preemptions)
      
         New monitor: sssw
           suspension requires setting the task to sleepable and, after the
           switch occurs, the task requires a wakeup to come back to runnable
      
         New monitor: opid
            waking and need-resched operations occur with interrupts and
            preemption disabled or in IRQ without explicitly disabling
            preemption"
      
      * tag 'trace-rv-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (48 commits)
        rv: Add opid per-cpu monitor
        rv: Add nrp and sssw per-task monitors
        rv: Replace tss and sncid monitors with more complete sts
        sched: Adapt sched tracepoints for RV task model
        rv: Retry when da monitor detects race conditions
        rv: Adjust monitor dependencies
        rv: Use strings in da monitors tracepoints
        rv: Remove trailing whitespace from tracepoint string
        rv: Add da_handle_start_run_event_ to per-task monitors
        rv: Fix wrong type cast in reactors_show() and monitor_reactor_show()
        rv: Fix wrong type cast in monitors_show()
        rv: Remove struct rv_monitor::reacting
        rv: Remove rv_reactor's reference counter
        rv: Merge struct rv_reactor_def into struct rv_reactor
        rv: Merge struct rv_monitor_def into struct rv_monitor
        rv: Remove unused field in struct rv_monitor_def
        rv: Return init error when registering monitors
        verification/rvgen: Organise Kconfig entries for nested monitors
        tools/dot2c: Fix generated files going over 100 column limit
        tools/rv: Stop gracefully also on SIGTERM
        ...
      4ff261e7
    • Linus Torvalds's avatar
      Merge tag 'trace-ringbuffer-v6.17' of... · d50b07d0
      Linus Torvalds authored
      Merge tag 'trace-ringbuffer-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull ring-buffer updates from Steven Rostedt:
      
       - Rewind persistent ring buffer on boot
      
         When the persistent ring buffer is being used for live kernel tracing
         and the system crashes, the tool that is reading the trace may not
         have recorded the data when the system crashed.
      
         Although the persistent ring buffer still has that data, when reading
         it after a reboot, it will start where it left off. That is, what was
         read will not be accessible.
      
         Instead, on reboot, have the persistent ring buffer restart where the
         data starts and this will allow the tooling to recover what was lost
         when the crash occurred.
      
       - Remove the ring_buffer_read_prepare_sync() logic
      
         Reading the trace file required stopping writing to the ring buffer
         as the trace file is only an iterator and does not consume what it
         read. It was originally not safe to read the ring buffer in this mode
         and required disabling writing. The ring_buffer_read_prepare_sync()
         logic was used to stop each per_cpu ring buffer, call
         synchronize_rcu() and then start the iterator. This was used instead
         of calling synchronize_rcu() for each per_cpu buffer.
      
         Today, the iterator has been updated where it is safe to read the
         trace file while writing to the ring buffer is still occurring. There
         is no more need to do this synchronization and it is causing large
         delays on machines with many CPUs. Remove this unneeded
         synchronization.
      
       - Make static string array a constant in show_irq_str()
      
         Making the string array into a constant has shown to decrease code
         text/data size.
      
      * tag 'trace-ringbuffer-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Make the const read-only 'type' static
        ring-buffer: Remove ring_buffer_read_prepare_sync()
        tracing: ring_buffer: Rewind persistent ring buffer on reboot
      d50b07d0
    • Linus Torvalds's avatar
      Merge tag 'ftrace-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 90a871f7
      Linus Torvalds authored
      Pull ftrace updates from Steven Rostedt:
      
       - Keep track of when fgraph_ops are registered or not
      
         Keep accounting of when fgraph_ops are registered as if a fgraph_ops
         is registered twice it can mess up the accounting and it will not
         work as expected later. Trigger a warning if something registers it
         twice as to catch bugs before they are found by things just not
         working as expected.
      
       - Make DYNAMIC_FTRACE always enabled for architectures that support it
      
         As static ftrace (where all functions are always traced) is very
         expensive and only exists to help architectures support ftrace, do
         not make it an option. As soon as an architecture supports
         DYNAMIC_FTRACE make it use it. This simplifies the code.
      
       - Remove redundant config HAVE_FTRACE_MCOUNT_RECORD
      
         The CONFIG_HAVE_FTRACE_MCOUNT was added to help simplify the
         DYNAMIC_FTRACE work, but now every architecture that implements
         DYNAMIC_FTRACE also has HAVE_FTRACE_MCOUNT set too, making it
         redundant with the HAVE_DYNAMIC_FTRACE.
      
       - Make pid_ptr string size match the comment
      
         In print_graph_proc() the pid_ptr string is of size 11, but the
         comment says /* sign + log10(MAX_INT) + '\0' */ which is actually 12.
      
      * tag 'ftrace-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: Remove redundant config HAVE_FTRACE_MCOUNT_RECORD
        ftrace: Make DYNAMIC_FTRACE always enabled for architectures that support it
        fgraph: Keep track of when fgraph_ops are registered or not
        fgraph: Make pid_str size match the comment
      90a871f7
    • Linus Torvalds's avatar
      Merge tag 'ktest-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 2223228b
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
      
       - Add new -D option that allows to override variables and options
      
         For example:
      
           ./ktest.pl -DPATCH_START:=HEAD~1 -DOUTPUT_DIR=/work/build/urgent config
      
         The above sets the variable "PATCH_START" to HEAD~1 and the
         OUTPUT_DIR option to "/work/build/urgent".
      
         This is useful because currently the only way to make a slight change
         to a config file is by modifying that config file. For one time
         changes, this can be annoying. Having a way to do a one time override
         from the command line simplifies the workflow.
      
         Temp variables (PATCH_START) will override every temp variable in the
         config file, whereas options will act like a normal OVERRIDE option
         and will only affect the session they define.
      
            -DBUILD_OUTPUT=/work/git/linux.git
      
         Replaces the default BUILD_OUTPUT option.
      
            '-DBUILD_OUTPUT[2]=/work/git/linux.git'
      
         Only replaces the BUILD_OUTPUT variable for test #2.
      
       - If an option contains itself, just drop it instead of going into an
         infinite loop and failing to parse (it doesn't crash, it detects the
         recursion after 100 iterations anyway).
      
         Some configs may define a variable with the same name as the option:
      
            ADD_CONFIG := $(ADD_CONFIG)
      
         But if the option doesn't exist, it the above will fail to parse. In
         these cases, just ignore evaluating the option inside the definition
         of another option if it has the same name.
      
       - Display the BUILD_DIR and OUTPUT_DIR options at the start of every
         test
      
         It is useful to know which kernel source and what destination a test
         is using when it starts, in case a mistake is made. This makes it
         easier to abort the test if the wrong source or destination is being
         used instead of waiting until the test completes.
      
       - Add new PATCHCHECK_SKIP option
      
         When testing a series of commits that also includes changes to the
         Linux tools directory, it is useless to test the changes in tools as
         they may not affect the kernel itself. Doing tests on the kernel for
         changes that do not affect the kernel is a waste of time.
      
         Add a PATCHCHECK_SKIP that takes a series of shas that will be
         skipped while doing the individual commit tests.
      
      * tag 'ktest-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest.pl: Add new PATCHCHECK_SKIP option to skip testing individual commits
        ktest.pl: Always display BUILD_DIR and OUTPUT_DIR at the start of tests
        ktest.pl: Prevent recursion of default variable options
        ktest.pl: Have -D option work without a space
        ktest.pl: Allow command option -D to override temp variables
        ktest.pl: Add -D option to override options
      2223228b
    • Linus Torvalds's avatar
      Merge tag 'probes-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · b7dbc2e8
      Linus Torvalds authored
      Pull probes updates from Masami Hiramatsu:
       "Stack usage reduction for probe events:
         - Allocate string buffers from the heap for uprobe, eprobe, kprobe,
           and fprobe events to avoid stack overflow
         - Allocate traceprobe_parse_context from the heap to prevent
           potential stack overflow
         - Fix a typo in the above commit
      
        New features for eprobe and tprobe events:
         - Add support for arrays in eprobes
         - Support multiple tprobes on the same tracepoint
      
        Improve efficiency:
         - Register fprobe-events only when it is enabled to reduce overhead
         - Register tracepoints for tprobe events only when enabled to resolve
           a lock dependency
      
        Code Cleanup:
         - Add kerneldoc for traceprobe_parse_event_name() and
           __get_insn_slot()
         - Sort #include alphabetically in the probes code
         - Remove the unused 'mod' field from the tprobe-event
         - Clean up the entry-arg storing code in probe-events
      
        Selftest update
         - Enable fprobe events before checking enable_functions in selftests"
      
      * tag 'probes-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: trace_fprobe: Fix typo of the semicolon
        tracing: Have eprobes handle arrays
        tracing: probes: Add a kerneldoc for traceprobe_parse_event_name()
        tracing: uprobe-event: Allocate string buffers from heap
        tracing: eprobe-event: Allocate string buffers from heap
        tracing: kprobe-event: Allocate string buffers from heap
        tracing: fprobe-event: Allocate string buffers from heap
        tracing: probe: Allocate traceprobe_parse_context from heap
        tracing: probes: Sort #include alphabetically
        kprobes: Add missing kerneldoc for __get_insn_slot
        tracing: tprobe-events: Register tracepoint when enable tprobe event
        selftests: tracing: Enable fprobe events before checking enable_functions
        tracing: fprobe-events: Register fprobe-events only when it is enabled
        tracing: tprobe-events: Support multiple tprobes on the same tracepoint
        tracing: tprobe-events: Remove mod field from tprobe-event
        tracing: probe-events: Cleanup entry-arg storing code
      b7dbc2e8
    • Linus Torvalds's avatar
      Merge tag 'probes-fixes-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · a03eec74
      Linus Torvalds authored
      Pull probes fix from Masami Hiramatsu:
      
       - Fix a potential infinite recursion in fprobe by using preempt_*_notrace()
      
      * tag 'probes-fixes-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: fprobe: Fix infinite recursion using preempt_*_notrace()
      a03eec74
    • Linus Torvalds's avatar
      Merge tag 'bootconfig-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 9bfdba94
      Linus Torvalds authored
      Pull bootconfig updates from Masami Hiramatsu:
      
       - tools/bootconfig:
          - Fix unaligned access when building footer to avoid SIGBUS
          - Cleanup bootconfig footer size calculations
      
       - test scripts:
          - Fix to add shebang for a test script
          - Improve script portability using portable commands
          - Improve script portability using printf instead of echo
          - Enclose regex with quotes for syntax highlighter
      
      * tag 'bootconfig-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        bootconfig: Fix unaligned access when building footer
        tools/bootconfig: scripts/ftrace.sh was missing the shebang line, so added it
        tools/bootconfig: Cleanup bootconfig footer size calculations
        tools/bootconfig: Replace some echo with printf for more portability
        tools/bootconfig: Improve portability
        tools: bootconfig: Regex enclosed with quotes to make syntax highlight proper
      9bfdba94
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · e8d780dc
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
      
       - Convert struct slab to its own flags instead of referencing page
         flags, which is another preparation step before separating it from
         struct page completely.
      
         Along with that, a bunch of documentation fixes and cleanups (Matthew
         Wilcox)
      
       - Convert large kmalloc to use frozen pages in order to be consistent
         with non-large kmalloc slabs (Vlastimil Babka)
      
       - MAINTAINERS updates (Matthew Wilcox, Lorenzo Stoakes)
      
       - Restore NUMA policy support for large kmalloc, broken by mistake in
         v6.1 (Vlastimil Babka)
      
      * tag 'slab-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        MAINTAINERS: add missing files to slab section
        slab: Update MAINTAINERS entry
        memcg_slabinfo: Fix use of PG_slab
        kfence: Remove mention of PG_slab
        vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb
        doc: Add slab internal kernel-doc
        slub: Fix a documentation build error for krealloc()
        slab: Add SL_pfmemalloc flag
        slab: Add SL_partial flag
        slab: Rename slab->__page_flags to slab->flags
        doc: Move SLUB documentation to the admin guide
        mm, slab: use frozen pages for large kmalloc
        mm, slab: restore NUMA policy support for large kmalloc
      e8d780dc
    • Linus Torvalds's avatar
      Merge tag 'rcu.release.v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux · 2db4df0c
      Linus Torvalds authored
      Pull RCU updates from Neeraj Upadhyay:
       "Expedited grace period updates:
      
         - Protect against early RCU exp quiescent state reporting during exp
           grace period initialization
      
         - Remove superfluous barrier in task unblock path
      
         - Remove the CPU online quiescent state report optimization, which is
           error prone for certain scenarios
      
         - Add warning for unexpected pending requested expedited quiescent
           state on dying CPU
      
        Core:
      
         - Robustify rcu_is_cpu_rrupt_from_idle() by using more accurate
           indicators of the actual context tracking state of a CPU
      
         - Handle ->defer_qs_iw_pending field data race
      
         - Enable rcu_normal_wake_from_gp by default on systems with <= 16
           CPUs
      
         - Fix lockup in rcu_read_unlock() due to recursive irq_exit() calls
      
         - Refactor expedited handling condition in rcu_read_unlock_special()
      
         - Documentation updates for hotplug and GP init scan ordering,
           separation of rcu_state and rnp's gp_seq states, quiescent state
           reporting for offline CPUs
      
        torture-scripts:
      
         - Cleanup and improve scripts : remove superfluous warnings for
           disabled tests; better handling of kvm.sh --kconfig arg; suppress
           some confusing diagnostics; tolerate bad kvm.sh args; add new
           diagnostic for build output; fail allmodconfig testing on warnings
      
         - Include RCU_TORTURE_TEST_CHK_RDR_STATE config for KCSAN kernels
      
         - Disable default RCU-tasks and clocksource-wdog testing on arm64
      
         - Add EXPERT Kconfig option for arm64 KCSAN runs
      
         - Remove SRCU-lite testing
      
        rcutorture:
      
         - Start torture writer threads creation after reader threads to
           handle race in SRCU-P scenario
      
         - Add SRCU down_read()/up_read() test
      
         - Add diagnostics for delayed SRCU up_read(), unmatched up_read(),
           print number of up/down readers and the number of such readers
           which migrated to other CPU
      
         - Ignore certain unsupported configurations for trivial RCU test
      
         - Fix splats in RT kernels due to inaccurate checks for BH-disabled
           context
      
         - Enable checks and logs to capture intentionally exercised
           unexpected scenarios (too short readers) for BUSTED test
      
         - Remove SRCU-lite testing
      
        srcu:
      
         - Expedite SRCU-fast grace periods
      
         - Remove SRCU-lite implementation
      
         - Add guards for SRCU-fast readers
      
        rcu nocb:
      
         - Dump NOCB group leader state on stall detection
      
         - Robustify nocb_cb_kthread pointer accesses
      
         - Fix delayed execution of hurry callbacks when LAZY_RCU is enabled
      
        refscale:
      
         - Fix multiplication overflow in "loops" and "nreaders" calculations"
      
      * tag 'rcu.release.v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux: (49 commits)
        rcu: Document concurrent quiescent state reporting for offline CPUs
        rcu: Document separation of rcu_state and rnp's gp_seq
        rcu: Document GP init vs hotplug-scan ordering requirements
        srcu: Add guards for SRCU-fast readers
        rcu: Fix delayed execution of hurry callbacks
        rcu: Refactor expedited handling check in rcu_read_unlock_special()
        checkpatch: Remove SRCU-lite deprecation
        srcu: Remove SRCU-lite implementation
        srcu: Expedite SRCU-fast grace periods
        rcutorture: Remove support for SRCU-lite
        rcutorture: Remove SRCU-lite scenarios
        torture: Remove support for SRCU-lite
        torture: Make torture.sh --allmodconfig testing fail on warnings
        torture: Add "ERROR" diagnostic for testing kernel-build output
        torture: Make torture.sh tolerate runs having bad kvm.sh arguments
        torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust runs
        torture: Extract testid.txt generation to separate script
        torture: Suppress "find" diagnostics from torture.sh --do-none run
        torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs
        rcu: Fix rcu_read_unlock() deadloop due to IRQ work
        ...
      2db4df0c
    • Linus Torvalds's avatar
      Merge tag 'kcsan-20250728-v6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/melver/linux · 7dff275c
      Linus Torvalds authored
      Pull Kernel Concurrency Sanitizer (KCSAN) update from Marco Elver:
      
       - A single fix to silence an uninitialized variable warning
      
      * tag 'kcsan-20250728-v6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/melver/linux:
        kcsan: test: Initialize dummy variable
      7dff275c
    • Paolo Bonzini's avatar
      Merge tag 'kvm-s390-next-6.17-1' of... · 196d9e72
      Paolo Bonzini authored
      Merge tag 'kvm-s390-next-6.17-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      
      RCU wakeup fix for KVM s390 guest entry
      196d9e72
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux · 53564f40
      Linus Torvalds authored
      Pull iommu updates from Will Deacon:
       "Core:
         - Remove the 'pgsize_bitmap' member from 'struct iommu_ops'
         - Convert the x86 drivers over to msi_create_parent_irq_domain()
      
        AMD-Vi:
         - Add support for examining driver/device internals via debugfs
         - Add support for "HATDis" to disable host translation when it is not
           supported
         - Add support for limiting the maximum host translation level based
           on EFR[HATS]
      
        Apple DART:
         - Don't enable as built-in by default when ARCH_APPLE is selected
      
        Arm SMMU:
         - Devicetree bindings update for the Qualcomm SMMU in the "Milos" SoC
         - Support for Qualcomm SM6115 MDSS parts
         - Disable PRR on Qualcomm SM8250 as using these bits causes the
           hypervisor to explode
      
        Intel VT-d:
         - Reorganize Intel VT-d to be ready for iommupt
         - Optimize iotlb_sync_map for non-caching/non-RWBF modes
         - Fix missed PASID in dev TLB invalidation in cache_tag_flush_all()
      
        Mediatek:
         - Fix build warnings when W=1
      
        Samsung Exynos:
         - Add support for reserved memory regions specified by the bootloader
      
        TI OMAP:
         - Use syscon_regmap_lookup_by_phandle_args() instead of parsing the
           node manually
      
        Misc:
         - Cleanups and minor fixes across the board"
      
      * tag 'iommu-updates-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux: (48 commits)
        iommu/vt-d: Fix UAF on sva unbind with pending IOPFs
        iommu/vt-d: Make iotlb_sync_map a static property of dmar_domain
        dt-bindings: arm-smmu: Remove sdm845-cheza specific entry
        iommu/amd: Fix geometry.aperture_end for V2 tables
        iommu/amd: Wrap debugfs ABI testing symbols snippets in literal code blocks
        iommu/amd: Add documentation for AMD IOMMU debugfs support
        iommu/amd: Add debugfs support to dump IRT Table
        iommu/amd: Add debugfs support to dump device table
        iommu/amd: Add support for device id user input
        iommu/amd: Add debugfs support to dump IOMMU command buffer
        iommu/amd: Add debugfs support to dump IOMMU Capability registers
        iommu/amd: Add debugfs support to dump IOMMU MMIO registers
        iommu/amd: Refactor AMD IOMMU debugfs initial setup
        dt-bindings: arm-smmu: document the support on Milos
        iommu/exynos: add support for reserved regions
        iommu/arm-smmu: disable PRR on SM8250
        iommu/arm-smmu-v3: Revert vmaster in the error path
        iommu/io-pgtable-arm: Remove unused macro iopte_prot
        iommu/arm-smmu-qcom: Add SM6115 MDSS compatible
        iommu/qcom: Fix pgsize_bitmap
        ...
      53564f40
    • Linus Torvalds's avatar
      Merge tag 'bpf-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · d9104cec
      Linus Torvalds authored
      Pull bpf updates from Alexei Starovoitov:
      
       - Remove usermode driver (UMD) framework (Thomas Weißschuh)
      
       - Introduce Strongly Connected Component (SCC) in the verifier to
         detect loops and refine register liveness (Eduard Zingerman)
      
       - Allow 'void *' cast using bpf_rdonly_cast() and corresponding
         '__arg_untrusted' for global function parameters (Eduard Zingerman)
      
       - Improve precision for BPF_ADD and BPF_SUB operations in the verifier
         (Harishankar Vishwanathan)
      
       - Teach the verifier that constant pointer to a map cannot be NULL
         (Ihor Solodrai)
      
       - Introduce BPF streams for error reporting of various conditions
         detected by BPF runtime (Kumar Kartikeya Dwivedi)
      
       - Teach the verifier to insert runtime speculation barrier (lfence on
         x86) to mitigate speculative execution instead of rejecting the
         programs (Luis Gerhorst)
      
       - Various improvements for 'veristat' (Mykyta Yatsenko)
      
       - For CONFIG_DEBUG_KERNEL config warn on internal verifier errors to
         improve bug detection by syzbot (Paul Chaignon)
      
       - Support BPF private stack on arm64 (Puranjay Mohan)
      
       - Introduce bpf_cgroup_read_xattr() kfunc to read xattr of cgroup's
         node (Song Liu)
      
       - Introduce kfuncs for read-only string opreations (Viktor Malik)
      
       - Implement show_fdinfo() for bpf_links (Tao Chen)
      
       - Reduce verifier's stack consumption (Yonghong Song)
      
       - Implement mprog API for cgroup-bpf programs (Yonghong Song)
      
      * tag 'bpf-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (192 commits)
        selftests/bpf: Migrate fexit_noreturns case into tracing_failure test suite
        selftests/bpf: Add selftest for attaching tracing programs to functions in deny list
        bpf: Add log for attaching tracing programs to functions in deny list
        bpf: Show precise rejected function when attaching fexit/fmod_ret to __noreturn functions
        bpf: Fix various typos in verifier.c comments
        bpf: Add third round of bounds deduction
        selftests/bpf: Test invariants on JSLT crossing sign
        selftests/bpf: Test cross-sign 64bits range refinement
        selftests/bpf: Update reg_bound range refinement logic
        bpf: Improve bounds when s64 crosses sign boundary
        bpf: Simplify bounds refinement from s32
        selftests/bpf: Enable private stack tests for arm64
        bpf, arm64: JIT support for private stack
        bpf: Move bpf_jit_get_prog_name() to core.c
        bpf, arm64: Fix fp initialization for exception boundary
        umd: Remove usermode driver framework
        bpf/preload: Don't select USERMODE_DRIVER
        selftests/bpf: Fix test dynptr/test_dynptr_memset_xdp_chunks failure
        selftests/bpf: Fix test dynptr/test_dynptr_copy_xdp failure
        selftests/bpf: Increase xdp data size for arm64 64K page size
        ...
      d9104cec
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 8be4d31c
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core & protocols:
      
         - Wrap datapath globals into net_aligned_data, to avoid false sharing
      
         - Preserve MSG_ZEROCOPY in forwarding (e.g. out of a container)
      
         - Add SO_INQ and SCM_INQ support to AF_UNIX
      
         - Add SIOCINQ support to AF_VSOCK
      
         - Add TCP_MAXSEG sockopt to MPTCP
      
         - Add IPv6 force_forwarding sysctl to enable forwarding per interface
      
         - Make TCP validation of whether packet fully fits in the receive
           window and the rcv_buf more strict. With increased use of HW
           aggregation a single "packet" can be multiple 100s of kB
      
         - Add MSG_MORE flag to optimize large TCP transmissions via sockmap,
           improves latency up to 33% for sockmap users
      
         - Convert TCP send queue handling from tasklet to BH workque
      
         - Improve BPF iteration over TCP sockets to see each socket exactly
           once
      
         - Remove obsolete and unused TCP RFC3517/RFC6675 loss recovery code
      
         - Support enabling kernel threads for NAPI processing on per-NAPI
           instance basis rather than a whole device. Fully stop the kernel
           NAPI thread when threaded NAPI gets disabled. Previously thread
           would stick around until ifdown due to tricky synchronization
      
         - Allow multicast routing to take effect on locally-generated packets
      
         - Add output interface argument for End.X in segment routing
      
         - MCTP: add support for gateway routing, improve bind() handling
      
         - Don't require rtnl_lock when fetching an IPv6 neighbor over Netlink
      
         - Add a new neighbor flag ("extern_valid"), which cedes refresh
           responsibilities to userspace. This is needed for EVPN multi-homing
           where a neighbor entry for a multi-homed host needs to be synced
           across all the VTEPs among which the host is multi-homed
      
         - Support NUD_PERMANENT for proxy neighbor entries
      
         - Add a new queuing discipline for IETF RFC9332 DualQ Coupled AQM
      
         - Add sequence numbers to netconsole messages. Unregister
           netconsole's console when all net targets are removed. Code
           refactoring. Add a number of selftests
      
         - Align IPSec inbound SA lookup to RFC 4301. Only SPI and protocol
           should be used for an inbound SA lookup
      
         - Support inspecting ref_tracker state via DebugFS
      
         - Don't force bonding advertisement frames tx to ~333 ms boundaries.
           Add broadcast_neighbor option to send ARP/ND on all bonded links
      
         - Allow providing upcall pid for the 'execute' command in openvswitch
      
         - Remove DCCP support from Netfilter's conntrack
      
         - Disallow multiple packet duplications in the queuing layer
      
         - Prevent use of deprecated iptables code on PREEMPT_RT
      
        Driver API:
      
         - Support RSS and hashing configuration over ethtool Netlink
      
         - Add dedicated ethtool callbacks for getting and setting hashing
           fields
      
         - Add support for power budget evaluation strategy in PSE /
           Power-over-Ethernet. Generate Netlink events for overcurrent etc
      
         - Support DPLL phase offset monitoring across all device inputs.
           Support providing clock reference and SYNC over separate DPLL
           inputs
      
         - Support traffic classes in devlink rate API for bandwidth
           management
      
         - Remove rtnl_lock dependency from UDP tunnel port configuration
      
        Device drivers:
      
         - Add a new Broadcom driver for 800G Ethernet (bnge)
      
         - Add a standalone driver for Microchip ZL3073x DPLL
      
         - Remove IBM's NETIUCV device driver
      
         - Ethernet high-speed NICs:
            - Broadcom (bnxt):
               - support zero-copy Tx of DMABUF memory
               - take page size into account for page pool recycling rings
            - Intel (100G, ice, idpf):
               - idpf: XDP and AF_XDP support preparations
               - idpf: add flow steering
               - add link_down_events statistic
               - clean up the TSPLL code
               - preparations for live VM migration
            - nVidia/Mellanox:
               - support zero-copy Rx/Tx interfaces (DMABUF and io_uring)
               - optimize context memory usage for matchers
               - expose serial numbers in devlink info
               - support PCIe congestion metrics
            - Meta (fbnic):
               - add 25G, 50G, and 100G link modes to phylink
               - support dumping FW logs
            - Marvell/Cavium:
               - support for CN20K generation of the Octeon chips
            - Amazon:
               - add HW clock (without timestamping, just hypervisor time access)
      
         - Ethernet virtual:
            - VirtIO net:
               - support segmentation of UDP-tunnel-encapsulated packets
            - Google (gve):
               - support packet timestamping and clock synchronization
            - Microsoft vNIC:
               - add handler for device-originated servicing events
               - allow dynamic MSI-X vector allocation
               - support Tx bandwidth clamping
      
         - Ethernet NICs consumer, and embedded:
            - AMD:
               - amd-xgbe: hardware timestamping and PTP clock support
            - Broadcom integrated MACs (bcmgenet, bcmasp):
               - use napi_complete_done() return value to support NAPI polling
               - add support for re-starting auto-negotiation
            - Broadcom switches (b53):
               - support BCM5325 switches
               - add bcm63xx EPHY power control
            - Synopsys (stmmac):
               - lots of code refactoring and cleanups
            - TI:
               - icssg-prueth: read firmware-names from device tree
               - icssg: PRP offload support
            - Microchip:
               - lan78xx: convert to PHYLINK for improved PHY and MAC management
               - ksz: add KSZ8463 switch support
            - Intel:
               - support similar queue priority scheme in multi-queue and
                 time-sensitive networking (taprio)
               - support packet pre-emption in both
            - RealTek (r8169):
               - enable EEE at 5Gbps on RTL8126
            - Airoha:
               - add PPPoE offload support
               - MDIO bus controller for Airoha AN7583
      
         - Ethernet PHYs:
            - support for the IPQ5018 internal GE PHY
            - micrel KSZ9477 switch-integrated PHYs:
               - add MDI/MDI-X control support
               - add RX error counters
               - add cable test support
               - add Signal Quality Indicator (SQI) reporting
            - dp83tg720: improve reset handling and reduce link recovery time
            - support bcm54811 (and its MII-Lite interface type)
            - air_en8811h: support resume/suspend
            - support PHY counters for QCA807x and QCA808x
            - support WoL for QCA807x
      
         - CAN drivers:
            - rcar_canfd: support for Transceiver Delay Compensation
            - kvaser: report FW versions via devlink dev info
      
         - WiFi:
            - extended regulatory info support (6 GHz)
            - add statistics and beacon monitor for Multi-Link Operation (MLO)
            - support S1G aggregation, improve S1G support
            - add Radio Measurement action fields
            - support per-radio RTS threshold
            - some work around how FIPS affects wifi, which was wrong (RC4 is
              used by TKIP, not only WEP)
            - improvements for unsolicited probe response handling
      
         - WiFi drivers:
            - RealTek (rtw88):
               - IBSS mode for SDIO devices
            - RealTek (rtw89):
               - BT coexistence for MLO/WiFi7
               - concurrent station + P2P support
               - support for USB devices RTL8851BU/RTL8852BU
            - Intel (iwlwifi):
               - use embedded PNVM in (to be released) FW images to fix
                 compatibility issues
               - many cleanups (unused FW APIs, PCIe code, WoWLAN)
               - some FIPS interoperability
            - MediaTek (mt76):
               - firmware recovery improvements
               - more MLO work
            - Qualcomm/Atheros (ath12k):
               - fix scan on multi-radio devices
               - more EHT/Wi-Fi 7 features
               - encapsulation/decapsulation offload
            - Broadcom (brcm80211):
               - support SDIO 43751 device
      
         - Bluetooth:
            - hci_event: add support for handling LE BIG Sync Lost event
            - ISO: add socket option to report packet seqnum via CMSG
            - ISO: support SCM_TIMESTAMPING for ISO TS
      
         - Bluetooth drivers:
            - intel_pcie: support Function Level Reset
            - nxpuart: add support for 4M baudrate
            - nxpuart: implement powerup sequence, reset, FW dump, and FW loading"
      
      * tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1742 commits)
        dpll: zl3073x: Fix build failure
        selftests: bpf: fix legacy netfilter options
        ipv6: annotate data-races around rt->fib6_nsiblings
        ipv6: fix possible infinite loop in fib6_info_uses_dev()
        ipv6: prevent infinite loop in rt6_nlmsg_size()
        ipv6: add a retry logic in net6_rt_notify()
        vrf: Drop existing dst reference in vrf_ip6_input_dst
        net/sched: taprio: align entry index attr validation with mqprio
        net: fsl_pq_mdio: use dev_err_probe
        selftests: rtnetlink.sh: remove esp4_offload after test
        vsock: remove unnecessary null check in vsock_getname()
        igb: xsk: solve negative overflow of nb_pkts in zerocopy mode
        stmmac: xsk: fix negative overflow of budget in zerocopy mode
        dt-bindings: ieee802154: Convert at86rf230.txt yaml format
        net: dsa: microchip: Disable PTP function of KSZ8463
        net: dsa: microchip: Setup fiber ports for KSZ8463
        net: dsa: microchip: Write switch MAC address differently for KSZ8463
        net: dsa: microchip: Use different registers for KSZ8463
        net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver
        dt-bindings: net: dsa: microchip: Add KSZ8463 switch support
        ...
      8be4d31c
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl · 4b290aae
      Linus Torvalds authored
      Pull sysctl updates from Joel Granados:
      
       - Move sysctls out of the kern_table array
      
         This is the final move of ctl_tables into their respective
         subsystems. Only 5 (out of the original 50) will remain in
         kernel/sysctl.c file; these handle either sysctl or common arch
         variables.
      
         By decentralizing sysctl registrations, subsystem maintainers regain
         control over their sysctl interfaces, improving maintainability and
         reducing the likelihood of merge conflicts.
      
       - docs: Remove false positives from check-sysctl-docs
      
         Stopped falsely identifying sysctls as undocumented or unimplemented
         in the check-sysctl-docs script. This script can now be used to
         automatically identify if documentation is missing.
      
      * tag 'sysctl-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl: (23 commits)
        docs: Downgrade arm64 & riscv from titles to comment
        docs: Replace spaces with tabs in check-sysctl-docs
        docs: Remove colon from ctltable title in vm.rst
        docs: Add awk section for ucount sysctl entries
        docs: Use skiplist when checking sysctl admin-guide
        docs: nixify check-sysctl-docs
        sysctl: rename kern_table -> sysctl_subsys_table
        kernel/sys.c: Move overflow{uid,gid} sysctl into kernel/sys.c
        uevent: mv uevent_helper into kobject_uevent.c
        sysctl: Removed unused variable
        sysctl: Nixify sysctl.sh
        sysctl: Remove superfluous includes from kernel/sysctl.c
        sysctl: Remove (very) old file changelog
        sysctl: Move sysctl_panic_on_stackoverflow to kernel/panic.c
        sysctl: move cad_pid into kernel/pid.c
        sysctl: Move tainted ctl_table into kernel/panic.c
        Input: sysrq: mv sysrq into drivers/tty/sysrq.c
        fork: mv threads-max into kernel/fork.c
        parisc/power: Move soft-power into power.c
        mm: move randomize_va_space into memory.c
        ...
      4b290aae
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.17-rc1-fix1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · a26321ee
      Linus Torvalds authored
      Pull hardening fixes from Kees Cook:
       "Notably, this contains the fix for for the GCC __init mess I created
        with the kstack_erase annotations.
      
         - staging: media: atomisp: Fix stack buffer overflow in
           gmin_get_var_int().
      
           I was asked to carry this fix, so here it is. :)
      
         - fortify: Fix incorrect reporting of read buffer size
      
         - kstack_erase: Fix missed export of renamed KSTACK_ERASE_CFLAGS
      
         - compiler_types: Provide __no_kstack_erase to disable coverage only
           on Clang"
      
      * tag 'hardening-v6.17-rc1-fix1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        compiler_types: Provide __no_kstack_erase to disable coverage only on Clang
        fortify: Fix incorrect reporting of read buffer size
        kstack_erase: Fix missed export of renamed KSTACK_ERASE_CFLAGS
        staging: media: atomisp: Fix stack buffer overflow in gmin_get_var_int()
      a26321ee
    • Linus Torvalds's avatar
      Merge tag 'uml-for-linux-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux · beb6c832
      Linus Torvalds authored
      Pull uml updates from Johannes Berg:
       "Mostly cleanups, except:
      
         - dynamic addition of vfio passthrough devices
      
         - implementation of HAVE_SYSCALL_TRACEPOINTS"
      
      * tag 'uml-for-linux-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux:
        um: Replace __ASSEMBLY__ with __ASSEMBLER__ in the usermode headers
        um: Stop tracking stub's PID via userspace_pid[]
        um: Remove the pid parameter of handle_trap()
        um: Use err consistently in userspace()
        um: vfio: Support adding devices via mconsole
        um: rtc: Avoid shadowing err in uml_rtc_start()
        um: Avoid redefining ARCH_HAS_CACHE_LINE_SIZE
        um: Make mm_list and mm_list_lock static
        um: Make unscheduled_userspace_iterations static
        um: Re-evaluate thread flags repeatedly
        um: simplify syscall header files
        um/ptrace: Implement HAVE_SYSCALL_TRACEPOINTS
        um/x86: Add system call table to header file
        um: virt-pci: Switch to msi_create_parent_irq_domain()
        um: virtio_pcidev: Rename UM_PCI_STAT_WAITING
      beb6c832
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 5f5c9952
      Linus Torvalds authored
      Pull powerpc updates from Madhavan Srinivasan:
      
       - CONFIG_HZ changes to move the base_slice from 10ms to 1ms
      
       - Patchset to move some of the mutex handling to lock guard
      
       - Expose secvars relevant to the key management mode
      
       - Misc cleanups and fixes
      
      Thanks to Ankit Chauhan, Christophe Leroy, Donet Tom, Gautam Menghani,
      Haren Myneni, Johan Korsnes, Madadi Vineeth Reddy, Paul Mackerras,
      Shrikanth Hegde, Srish Srinivasan, Thomas Fourier, Thomas Huth, Thomas
      Weißschuh, Souradeep, Amit Machhiwal, R Nageswara Sastry, Venkat Rao
      Bagalkote, Andrew Donnellan, Greg Kroah-Hartman, Mimi Zohar, Mukesh
      Kumar Chaurasiya, Nayna Jain, Ritesh Harjani (IBM), Sourabh Jain, Srikar
      Dronamraju, Stefan Berger, Tyrel Datwyler, and Kowshik Jois.
      
      * tag 'powerpc-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (23 commits)
        arch/powerpc: Remove .interp section in vmlinux
        powerpc: Drop GPL boilerplate text with obsolete FSF address
        powerpc: Don't use %pK through printk
        arch: powerpc: defconfig: Drop obsolete CONFIG_NET_CLS_TCINDEX
        misc: ocxl: Replace scnprintf() with sysfs_emit() in sysfs show functions
        integrity/platform_certs: Allow loading of keys in the static key management mode
        powerpc/secvar: Expose secvars relevant to the key management mode
        powerpc/pseries: Correct secvar format representation for static key management
        (powerpc/512) Fix possible `dma_unmap_single()` on uninitialized pointer
        powerpc: floppy: Add missing checks after DMA map
        book3s64/radix : Optimize vmemmap start alignment
        book3s64/radix : Handle error conditions properly in radix_vmemmap_populate
        powerpc/pseries/dlpar: Search DRC index from ibm,drc-indexes for IO add
        KVM: PPC: Book3S HV: Add H_VIRT mapping for tracing exits
        powerpc: sysdev: use lock guard for mutex
        powerpc: powernv: ocxl: use lock guard for mutex
        powerpc: book3s: vas: use lock guard for mutex
        powerpc: fadump: use lock guard for mutex
        powerpc: rtas: use lock guard for mutex
        powerpc: eeh: use lock guard for mutex
        ...
      5f5c9952
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 6fb44438
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
       "A quick summary: perf support for Branch Record Buffer Extensions
        (BRBE), typical PMU hardware updates, small additions to MTE for
        store-only tag checking and exposing non-address bits to signal
        handlers, HAVE_LIVEPATCH enabled on arm64, VMAP_STACK forced on.
      
        There is also a TLBI optimisation on hardware that does not require
        break-before-make when changing the user PTEs between contiguous and
        non-contiguous.
      
        More details:
      
        Perf and PMU updates:
      
         - Add support for new (v3) Hisilicon SLLC and DDRC PMUs
      
         - Add support for Arm-NI PMU integrations that share interrupts
           between clock domains within a given instance
      
         - Allow SPE to be configured with a lower sample period than the
           minimum recommendation advertised by PMSIDR_EL1.Interval
      
         - Add suppport for Arm's "Branch Record Buffer Extension" (BRBE)
      
         - Adjust the perf watchdog period according to cpu frequency changes
      
         - Minor driver fixes and cleanups
      
        Hardware features:
      
         - Support for MTE store-only checking (FEAT_MTE_STORE_ONLY)
      
         - Support for reporting the non-address bits during a synchronous MTE
           tag check fault (FEAT_MTE_TAGGED_FAR)
      
         - Optimise the TLBI when folding/unfolding contiguous PTEs on
           hardware with FEAT_BBM (break-before-make) level 2 and no TLB
           conflict aborts
      
        Software features:
      
         - Enable HAVE_LIVEPATCH after implementing arch_stack_walk_reliable()
           and using the text-poke API for late module relocations
      
         - Force VMAP_STACK always on and change arm64_efi_rt_init() to use
           arch_alloc_vmap_stack() in order to avoid KASAN false positives
      
        ACPI:
      
         - Improve SPCR handling and messaging on systems lacking an SPCR
           table
      
        Debug:
      
         - Simplify the debug exception entry path
      
         - Drop redundant DBG_MDSCR_* macros
      
        Kselftests:
      
         - Cleanups and improvements for SME, SVE and FPSIMD tests
      
        Miscellaneous:
      
         - Optimise loop to reduce redundant operations in contpte_ptep_get()
      
         - Remove ISB when resetting POR_EL0 during signal handling
      
         - Mark the kernel as tainted on SEA and SError panic
      
         - Remove redundant gcs_free() call"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (93 commits)
        arm64/gcs: task_gcs_el0_enable() should use passed task
        arm64: Kconfig: Keep selects somewhat alphabetically ordered
        arm64: signal: Remove ISB when resetting POR_EL0
        kselftest/arm64: Handle attempts to disable SM on SME only systems
        kselftest/arm64: Fix SVE write data generation for SME only systems
        kselftest/arm64: Test SME on SME only systems in fp-ptrace
        kselftest/arm64: Test FPSIMD format data writes via NT_ARM_SVE in fp-ptrace
        kselftest/arm64: Allow sve-ptrace to run on SME only systems
        arm64/mm: Drop redundant addr increment in set_huge_pte_at()
        kselftest/arm4: Provide local defines for AT_HWCAP3
        arm64: Mark kernel as tainted on SAE and SError panic
        arm64/gcs: Don't call gcs_free() when releasing task_struct
        drivers/perf: hisi: Support PMUs with no interrupt
        drivers/perf: hisi: Relax the event number check of v2 PMUs
        drivers/perf: hisi: Add support for HiSilicon SLLC v3 PMU driver
        drivers/perf: hisi: Use ACPI driver_data to retrieve SLLC PMU information
        drivers/perf: hisi: Add support for HiSilicon DDRC v3 PMU driver
        drivers/perf: hisi: Simplify the probe process for each DDRC version
        perf/arm-ni: Support sharing IRQs within an NI instance
        perf/arm-ni: Consolidate CPU affinity handling
        ...
      6fb44438
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 3bb38c52
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - ptdescs conversions
      
       - Fix lost column on the graphical debug console
      
       - Replace __ASSEMBLY__ with __ASSEMBLER__ in headers
      
       - Miscellaneous fixes and improvements
      
       - defconfig updates
      
      * tag 'm68k-for-v6.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: mac: Improve clocksource driver commentary
        m68k: defconfig: Update defconfigs for v6.16-rc2
        m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers
        m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in uapi headers
        m68k: Enable dead code elimination
        m68k: Don't unregister boot console needlessly
        m68k: Remove unused "cursor home" code from debug console
        m68k: Avoid pointless recursion in debug console rendering
        m68k: Fix lost column on framebuffer debug console
        m68k: mm: Convert pointer table macros to use ptdescs
        m68k: mm: Convert init_pointer_table() to use ptdescs
        m68k: mm: Convert free_pointer_table() to use ptdescs
        m68k: mm: Convert get_pointer_table() to use ptdescs
      3bb38c52
    • Linus Torvalds's avatar
      Merge tag 's390-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · bc46b7cb
      Linus Torvalds authored
      Pull s390 updates from Alexander Gordeev:
      
       - Standardize on the __ASSEMBLER__ macro that is provided by GCC and
         Clang compilers and replace __ASSEMBLY__ with __ASSEMBLER__ in both
         uapi and non-uapi headers
      
       - Explicitly include <linux/export.h> in architecture and driver files
         which contain an EXPORT_SYMBOL() and remove the include from the
         files which do not contain the EXPORT_SYMBOL()
      
       - Use the full title of "z/Architecture Principles of Operation" manual
         and the name of a section where facility bits are listed
      
       - Use -D__DISABLE_EXPORTS for files in arch/s390/boot to avoid
         unnecessary slowing down of the build and confusing external kABI
         tools that process symtypes data
      
       - Print additional unrecoverable machine check information to make the
         root cause analysis easier
      
       - Move cmpxchg_user_key() handling to uaccess library code, since the
         generated code is large anyway and there is no benefit if it is
         inlined
      
       - Fix a problem when cmpxchg_user_key() is executing a code with a
         non-default key: if a system is IPL-ed with "LOAD NORMAL", and the
         previous system used storage keys where the fetch-protection bit was
         set for some pages, and the cmpxchg_user_key() is located within such
         page, a protection exception happens
      
       - Either the external call or emergency signal order is used to send an
         IPI to a remote CPU. Use the external order only, since it is at
         least as good and sometimes even better, than the emergency signal
      
       - In case of an early crash the early program check handler prints more
         or less random value of the last breaking event address, since it is
         not initialized properly. Copy the last breaking event address from
         the lowcore to pt_regs to address this
      
       - During STP synchronization check udelay() can not be used, since the
         first CPU modifies tod_clock_base and get_tod_clock_monotonic() might
         return a non-monotonic time. Instead, busy-loop on other CPUs, while
         the the first CPU actually handles the synchronization operation
      
       - When debugging the early kernel boot using QEMU with the -S flag and
         GDB attached, skip the decompressor and start directly in kernel
      
       - Rename PAI Crypto event 4210 according to z16 and z17 "z/Architecture
         Principles of Operation" manual
      
       - Remove the in-kernel time steering support in favour of the new s390
         PTP driver, which allows the kernel clock steered more precisely
      
       - Remove a possible false-positive warning in pte_free_defer(), which
         could be triggered in a valid case KVM guest process is initializing
      
      * tag 's390-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (29 commits)
        s390/mm: Remove possible false-positive warning in pte_free_defer()
        s390/stp: Default to enabled
        s390/stp: Remove leap second support
        s390/time: Remove in-kernel time steering
        s390/sclp: Use monotonic clock in sclp_sync_wait()
        s390/smp: Use monotonic clock in smp_emergency_stop()
        s390/time: Use monotonic clock in get_cycles()
        s390/pai_crypto: Rename PAI Crypto event 4210
        scripts/gdb/symbols: make lx-symbols skip the s390 decompressor
        s390/boot: Introduce jump_to_kernel() function
        s390/stp: Remove udelay from stp_sync_clock()
        s390/early: Copy last breaking event address to pt_regs
        s390/smp: Remove conditional emergency signal order code usage
        s390/uaccess: Merge cmpxchg_user_key() inline assemblies
        s390/uaccess: Prevent kprobes on cmpxchg_user_key() functions
        s390/uaccess: Initialize code pages executed with non-default access key
        s390/skey: Provide infrastructure for executing with non-default access key
        s390/uaccess: Make cmpxchg_user_key() library code
        s390/page: Add memory clobber to page_set_storage_key()
        s390/page: Cleanup page_set_storage_key() inline assemblies
        ...
      bc46b7cb
    • Linus Torvalds's avatar
      Merge tag 'x86-platform-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98e8f2c0
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "This adds support for the AMD hardware feedback interface (HFI), by
        Perry Yuan"
      
      * tag 'x86-platform-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/itmt: Add debugfs file to show core priorities
        platform/x86/amd: hfi: Add debugfs support
        platform/x86/amd: hfi: Set ITMT priority from ranking data
        cpufreq/amd-pstate: Disable preferred cores on designs with workload classification
        x86/process: Clear hardware feedback history for AMD processors
        platform/x86: hfi: Add power management callback
        platform/x86: hfi: Add online and offline callback support
        platform/x86: hfi: Init per-cpu scores for each class
        platform/x86: hfi: Parse CPU core ranking data from shared memory
        platform/x86: hfi: Introduce AMD Hardware Feedback Interface Driver
        x86/msr-index: Add AMD workload classification MSRs
        MAINTAINERS: Add maintainer entry for AMD Hardware Feedback Driver
        Documentation/x86: Add AMD Hardware Feedback Interface documentation
      98e8f2c0
    • Linus Torvalds's avatar
      Merge tag 'x86-kconfig-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e12ac84a
      Linus Torvalds authored
      Pull x86 kconfig updates from Ingo Molnar:
      
       - Emit standard build success messages in insn_sanity.c and
         insn_decoder_test.c (Ingo Molnar)
      
       - Refresh the x86-[64|32] defconfigs mechanically (Ingo Molnar)
      
      * tag 'x86-kconfig-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tools: insn_sanity.c: Emit standard build success messages
        x86/tools: insn_decoder_test.c: Emit standard build success messages
        x86/kconfig/32: Refresh defconfig
        x86/kconfig/64: Refresh defconfig
      e12ac84a
    • Linus Torvalds's avatar
      Merge tag 'x86-fpu-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0c23929f
      Linus Torvalds authored
      Pull x86 FPU updates from Ingo Molnar:
      
       - Most of the changes are related to the implementation of CET
         supervisor state support for guests, and its preparatory changes
         (Chao Gao)
      
       - Improve/fix the debug output for unexpected FPU exceptions (Dave
         Hansen)
      
      * tag 'x86-fpu-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Delay instruction pointer fixup until after warning
        x86/fpu/xstate: Add CET supervisor xfeature support as a guest-only feature
        x86/fpu/xstate: Introduce "guest-only" supervisor xfeature set
        x86/fpu: Remove xfd argument from __fpstate_reset()
        x86/fpu: Initialize guest fpstate and FPU pseudo container from guest defaults
        x86/fpu: Initialize guest FPU permissions from guest defaults
        x86/fpu/xstate: Differentiate default features for host and guest FPUs
      0c23929f
    • Linus Torvalds's avatar
      Merge tag 'x86-cpu-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4dd39dde
      Linus Torvalds authored
      Pull x86 cpu update from Ingo Molnar:
       "Add user-space CPUID faulting support for AMD CPUs"
      
      * tag 'x86-cpu-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/CPU/AMD: Add CPUID faulting support
      4dd39dde
    • Linus Torvalds's avatar
      Merge tag 'x86-cleanups-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1645f6ab
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Miscellaneous x86 cleanups"
      
      * tag 'x86-cleanups-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Move apic_update_irq_cfg() call to apic_update_vector()
        x86/mm: Remove duplicated __PAGE_KERNEL(_EXEC) definitions
      1645f6ab
    • Linus Torvalds's avatar
      Merge tag 'x86-boot-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 56d5e329
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
      
       - Implement support for embedding EFI SBAT data (Secure Boot Advanced
         Targeting: a secure boot image revocation facility) on x86 (Vitaly
         Kuznetsov)
      
       - Move the efi_enter_virtual_mode() initialization call from the
         generic init code to x86 init code (Alexander Shishkin)
      
      * tag 'x86-boot-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Implement support for embedding SBAT data for x86
        x86/efi: Move runtime service initialization to arch/x86
      56d5e329
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 72b8944f
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "Locking primitives:
      
         - Mark devm_mutex_init() as __must_check and fix drivers that didn't
           check the return code (Thomas Weißschuh)
      
         - Reorganize <linux/local_lock.h> to better expose the internal APIs
           to local variables (Sebastian Andrzej Siewior)
      
         - Remove OWNER_SPINNABLE in rwsem (Jinliang Zheng)
      
         - Remove redundant #ifdefs in the mutex code (Ran Xiaokai)
      
        Lockdep:
      
         - Avoid returning struct in lock_stats() (Arnd Bergmann)
      
         - Change `static const` into enum for LOCKF_*_IRQ_* (Arnd Bergmann)
      
         - Temporarily use synchronize_rcu_expedited() in
           lockdep_unregister_key() to speed things up. (Breno Leitao)
      
        Rust runtime:
      
         - Add #[must_use] to Lock::try_lock() (Jason Devers)"
      
      * tag 'locking-core-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        lockdep: Speed up lockdep_unregister_key() with expedited RCU synchronization
        locking/mutex: Remove redundant #ifdefs
        locking/lockdep: Change 'static const' variables to enum values
        locking/lockdep: Avoid struct return in lock_stats()
        locking/rwsem: Use OWNER_NONSPINNABLE directly instead of OWNER_SPINNABLE
        rust: sync: Add #[must_use] to Lock::try_lock()
        locking/mutex: Mark devm_mutex_init() as __must_check
        leds: lp8860: Check return value of devm_mutex_init()
        spi: spi-nxp-fspi: Check return value of devm_mutex_init()
        local_lock: Move this_cpu_ptr() notation from internal to main header
      72b8944f
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2025-07-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bcb48dd3
      Linus Torvalds authored
      Pull x86 performance events updates from Ingo Molnar:
       "Intel uncore driver enhancements (Kan Liang):
      
         - Support MSR portal for discovery tables
      
         - Support customized MMIO map size
      
         - Add Panther Lake support
      
         - Add IMC freerunning support for Panther Lake"
      
      * tag 'perf-core-2025-07-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel/uncore: Add iMC freerunning for Panther Lake
        perf/x86/intel/uncore: Add Panther Lake support
        perf/x86/intel/uncore: Support customized MMIO map size
        perf/x86/intel/uncore: Support MSR portal for discovery tables
      bcb48dd3
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2025-07-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bf76f23a
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "Core scheduler changes:
      
         - Better tracking of maximum lag of tasks in presence of different
           slices duration, for better handling of lag in the fair scheduler
           (Vincent Guittot)
      
         - Clean up and standardize #if/#else/#endif markers throughout the
           entire scheduler code base (Ingo Molnar)
      
         - Make SMP unconditional: build the SMP scheduler's data structures
           and logic on UP kernel too, even though they are not used, to
           simplify the scheduler and remove around 200 #ifdef/[#else]/#endif
           blocks from the scheduler (Ingo Molnar)
      
         - Reorganize cgroup bandwidth control interface handling for better
           interfacing with sched_ext (Tejun Heo)
      
        Balancing:
      
         - Bump sd->max_newidle_lb_cost when newidle balance fails (Chris
           Mason)
      
         - Remove sched_domain_topology_level::flags to simplify the code
           (Prateek Nayak)
      
         - Simplify and clean up build_sched_topology() (Li Chen)
      
         - Optimize build_sched_topology() on large machines (Li Chen)
      
        Real-time scheduling:
      
         - Add initial version of proxy execution: a mechanism for
           mutex-owning tasks to inherit the scheduling context of higher
           priority waiters.
      
           Currently limited to a single runqueue and conditional on
           CONFIG_EXPERT, and other limitations (John Stultz, Peter Zijlstra,
           Valentin Schneider)
      
         - Deadline scheduler (Juri Lelli):
            - Fix dl_servers initialization order (Juri Lelli)
            - Fix DL scheduler's root domain reinitialization logic (Juri
              Lelli)
            - Fix accounting bugs after global limits change (Juri Lelli)
            - Fix scalability regression by implementing less agressive
              dl_server handling (Peter Zijlstra)
      
        PSI:
      
         - Improve scalability by optimizing psi_group_change() cpu_clock()
           usage (Peter Zijlstra)
      
        Rust changes:
      
         - Make Task, CondVar and PollCondVar methods inline to avoid
           unnecessary function calls (Kunwu Chan, Panagiotis Foliadis)
      
         - Add might_sleep() support for Rust code: Rust's "#[track_caller]"
           mechanism is used so that Rust's might_sleep() doesn't need to be
           defined as a macro (Fujita Tomonori)
      
         - Introduce file_from_location() (Boqun Feng)
      
        Debugging & instrumentation:
      
         - Make clangd usable with scheduler source code files again (Peter
           Zijlstra)
      
         - tools: Add root_domains_dump.py which dumps root domains info (Juri
           Lelli)
      
         - tools: Add dl_bw_dump.py for printing bandwidth accounting info
           (Juri Lelli)
      
        Misc cleanups & fixes:
      
         - Remove play_idle() (Feng Lee)
      
         - Fix check_preemption_disabled() (Sebastian Andrzej Siewior)
      
         - Do not call __put_task_struct() on RT if pi_blocked_on is set (Luis
           Claudio R. Goncalves)
      
         - Correct the comment in place_entity() (wang wei)"
      
      * tag 'sched-core-2025-07-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (84 commits)
        sched/idle: Remove play_idle()
        sched: Do not call __put_task_struct() on rt if pi_blocked_on is set
        sched: Start blocked_on chain processing in find_proxy_task()
        sched: Fix proxy/current (push,pull)ability
        sched: Add an initial sketch of the find_proxy_task() function
        sched: Fix runtime accounting w/ split exec & sched contexts
        sched: Move update_curr_task logic into update_curr_se
        locking/mutex: Add p->blocked_on wrappers for correctness checks
        locking/mutex: Rework task_struct::blocked_on
        sched: Add CONFIG_SCHED_PROXY_EXEC & boot argument to enable/disable
        sched/topology: Remove sched_domain_topology_level::flags
        x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled
        x86/smpboot: moves x86_topology to static initialize and truncate
        x86/smpboot: remove redundant CONFIG_SCHED_SMT
        smpboot: introduce SDTL_INIT() helper to tidy sched topology setup
        tools/sched: Add dl_bw_dump.py for printing bandwidth accounting info
        tools/sched: Add root_domains_dump.py which dumps root domains info
        sched/deadline: Fix accounting after global limits change
        sched/deadline: Reset extra_bw to max_bw when clearing root domains
        sched/deadline: Initialize dl_servers after SMP
        ...
      bf76f23a
    • Kees Cook's avatar
      compiler_types: Provide __no_kstack_erase to disable coverage only on Clang · f627b51a
      Kees Cook authored
      
      
      In order to support Clang's stack depth tracking (for Linux's kstack_erase
      feature), the coverage sanitizer needed to be disabled for __init (and
      __head) section code. Doing this universally (i.e. for GCC too) created
      a number of unexpected problems, ranging from changes to inlining logic
      to failures to DCE code on earlier GCC versions.
      
      Since this change is only needed for Clang, specialize it so that GCC
      doesn't see the change as it isn't needed there (the GCC implementation
      of kstack_erase uses a GCC plugin that removes stack depth tracking
      instrumentation from __init sections during a late pass in the IR).
      
      Successfully build and boot tested with GCC 12 and Clang 22.
      
      Fixes: 381a38ea ("init.h: Disable sanitizer coverage for __init and __head")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202507270258.neWuiXLd-lkp@intel.com/
      
      
      Reported-by: default avatar <syzbot+5245cb609175fb6e8122@syzkaller.appspotmail.com>
      Closes: https://lore.kernel.org/all/6888d004.a00a0220.26d0e1.0004.GAE@google.com/
      
      
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Reviewed-by: default avatarMarco Elver <elver@google.com>
      Link: https://lore.kernel.org/r/20250729234055.it.233-kees@kernel.org
      
      
      Signed-off-by: default avatarKees Cook <kees@kernel.org>
      f627b51a
    • Kees Cook's avatar
      fortify: Fix incorrect reporting of read buffer size · 94fd4464
      Kees Cook authored
      
      
      When FORTIFY_SOURCE reports about a run-time buffer overread, the wrong
      buffer size was being shown in the error message. (The bounds checking
      was correct.)
      
      Fixes: 3d965b33 ("fortify: Improve buffer overflow reporting")
      Reviewed-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/20250729231817.work.023-kees@kernel.org
      
      
      Signed-off-by: default avatarKees Cook <kees@kernel.org>
      94fd4464
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v6.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 14bed9bc
      Linus Torvalds authored
      Pull x86 SEV updates from Borislav Petkov:
      
       - Map the SNP calling area pages too so that OVMF EFI fw can issue SVSM
         calls properly with the goal of implementing EFI variable store in
         the SVSM - a component which is trusted by the guest, vs in the
         firmware, which is not
      
       - Allow the kernel to handle #VC exceptions from EFI runtime services
         properly when running as a SNP guest
      
       - Rework and cleanup the SNP guest request issue glue code a bit
      
      * tag 'x86_sev_for_v6.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sev: Let sev_es_efi_map_ghcbs() map the CA pages too
        x86/sev/vc: Fix EFI runtime instruction emulation
        x86/sev: Drop unnecessary parameter in snp_issue_guest_request()
        x86/sev: Document requirement for linear mapping of guest request buffers
        x86/sev: Allocate request in TSC_INFO_REQ on stack
        virt: sev-guest: Contain snp_guest_request_ioctl in sev-guest
      14bed9bc
    • Kees Cook's avatar
      kstack_erase: Fix missed export of renamed KSTACK_ERASE_CFLAGS · fc525d62
      Kees Cook authored
      
      
      Certain targets disable kstack_erase by filtering out KSTACK_ERASE_CFLAGS
      rather than adding DISABLE_KSTACK_ERASE. The renaming to kstack_erase
      missed the CFLAGS export, which broke those build targets (e.g. x86
      vdso32).
      
      Fixes: 76261fc7 ("stackleak: Split KSTACK_ERASE_CFLAGS from GCC_PLUGINS_CFLAGS")
      Signed-off-by: default avatarKees Cook <kees@kernel.org>
      fc525d62
    • Linus Torvalds's avatar
      Merge tag 'x86_microcode_for_v6.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 01fce21e
      Linus Torvalds authored
      Pull x86 microcode loader update from Borislav Petkov:
      
       - Switch the microcode loader from using the fake platform device to
         the new simple faux bus
      
      * tag 'x86_microcode_for_v6.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Move away from using a fake platform device
      01fce21e
  3. Jul 29, 2025
Loading