Skip to content
Snippets Groups Projects
  1. Nov 26, 2024
    • Linus Torvalds's avatar
      Merge tag 'firewire-updates-6.13' of... · 5d38cb9b
      Linus Torvalds authored
      Merge tag 'firewire-updates-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
      
      Pull firewire updates from Takashi Sakamoto:
       "A few updates for the 6.13 kernel, including some typo corrections in
        the software stack and some fixes for tools. Additionally, it includes
        a change resulting from the deprecation of a kernel API in the PCI
        subsystem"
      
      * tag 'firewire-updates-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        tools/firewire: Fix several incorrect format specifiers
        firewire: ohci: Replace deprecated PCI functions
        firewire: Correct some typos
      5d38cb9b
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.13-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · e06635e2
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
      
       - Add new slab_strict_numa boot parameter to enforce per-object memory
         policies on top of slab folio policies, for systems where saving cost
         of remote accesses is more important than minimizing slab allocation
         overhead (Christoph Lameter)
      
       - Fix for freeptr_offset alignment check being too strict for m68k
         (Geert Uytterhoeven)
      
       - krealloc() fixes for not violating __GFP_ZERO guarantees on
         krealloc() when slub_debug (redzone and object tracking) is enabled
         (Feng Tang)
      
       - Fix a memory leak in case sysfs registration fails for a slab cache,
         and also no longer fail to create the cache in that case (Hyeonggon
         Yoo)
      
       - Fix handling of detected consistency problems (due to buggy slab
         user) with slub_debug enabled, so that it does not cause further list
         corruption bugs (yuan.gao)
      
       - Code cleanup and kerneldocs polishing (Zhen Lei, Vlastimil Babka)
      
      * tag 'slab-for-6.13-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        slab: Fix too strict alignment check in create_cache()
        mm/slab: Allow cache creation to proceed even if sysfs registration fails
        mm/slub: Avoid list corruption when removing a slab from the full list
        mm/slub, kunit: Add testcase for krealloc redzone and zeroing
        mm/slub: Improve redzone check and zeroing for krealloc()
        mm/slub: Consider kfence case for get_orig_size()
        SLUB: Add support for per object memory policies
        mm, slab: add kerneldocs for common SLAB_ flags
        mm/slab: remove duplicate check in create_cache()
        mm/slub: Move krealloc() and related code to slub.c
        mm/kasan: Don't store metadata inside kmalloc object when slub_debug_orig_size is on
      e06635e2
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2024-11-24-02-05' of... · f5f4745a
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2024-11-24-02-05' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-MM updates from Andrew Morton:
      
       - The series "resource: A couple of cleanups" from Andy Shevchenko
         performs some cleanups in the resource management code
      
       - The series "Improve the copy of task comm" from Yafang Shao addresses
         possible race-induced overflows in the management of
         task_struct.comm[]
      
       - The series "Remove unnecessary header includes from
         {tools/}lib/list_sort.c" from Kuan-Wei Chiu adds some cleanups and a
         small fix to the list_sort library code and to its selftest
      
       - The series "Enhance min heap API with non-inline functions and
         optimizations" also from Kuan-Wei Chiu optimizes and cleans up the
         min_heap library code
      
       - The series "nilfs2: Finish folio conversion" from Ryusuke Konishi
         finishes off nilfs2's folioification
      
       - The series "add detect count for hung tasks" from Lance Yang adds
         more userspace visibility into the hung-task detector's activity
      
       - Apart from that, singelton patches in many places - please see the
         individual changelogs for details
      
      * tag 'mm-nonmm-stable-2024-11-24-02-05' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (71 commits)
        gdb: lx-symbols: do not error out on monolithic build
        kernel/reboot: replace sprintf() with sysfs_emit()
        lib: util_macros_kunit: add kunit test for util_macros.h
        util_macros.h: fix/rework find_closest() macros
        Improve consistency of '#error' directive messages
        ocfs2: fix uninitialized value in ocfs2_file_read_iter()
        hung_task: add docs for hung_task_detect_count
        hung_task: add detect count for hung tasks
        dma-buf: use atomic64_inc_return() in dma_buf_getfile()
        fs/proc/kcore.c: fix coccinelle reported ERROR instances
        resource: avoid unnecessary resource tree walking in __region_intersects()
        ocfs2: remove unused errmsg function and table
        ocfs2: cluster: fix a typo
        lib/scatterlist: use sg_phys() helper
        checkpatch: always parse orig_commit in fixes tag
        nilfs2: convert metadata aops from writepage to writepages
        nilfs2: convert nilfs_recovery_copy_block() to take a folio
        nilfs2: convert nilfs_page_count_clean_buffers() to take a folio
        nilfs2: remove nilfs_writepage
        nilfs2: convert checkpoint file to be folio-based
        ...
      f5f4745a
  2. Nov 25, 2024
    • Linus Torvalds's avatar
      Merge tag 'trace-rust-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 7f4f3b14
      Linus Torvalds authored
      Pull rust trace event support from Steven Rostedt:
       "Allow Rust code to have trace events
      
        Trace events is a popular way to debug what is happening inside the
        kernel or just to find out what is happening. Rust code is being added
        to the Linux kernel but it currently does not support the tracing
        infrastructure. Add support of trace events inside Rust code"
      
      * tag 'trace-rust-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        rust: jump_label: skip formatting generated file
        jump_label: rust: pass a mut ptr to `static_key_count`
        samples: rust: fix `rust_print` build making it a combined module
        rust: add arch_static_branch
        jump_label: adjust inline asm to be consistent
        rust: samples: add tracepoint to Rust sample
        rust: add tracepoint support
        rust: add static_branch_unlikely for static_key_false
      7f4f3b14
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 36843bfb
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
      
       - Disable __counted_by in Clang < 19.1.3 (Jan Hendrik Farr)
      
       - string_helpers: Silence output truncation warning (Bartosz
         Golaszewski)
      
       - compiler.h: Avoid needing BUILD_BUG_ON_ZERO() (Philipp Reisner)
      
       - MAINTAINERS: Add kernel hardening keywords __counted_by{_le|_be}
         (Thorsten Blum)
      
      * tag 'hardening-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        Compiler Attributes: disable __counted_by for clang < 19.1.3
        compiler.h: Fix undefined BUILD_BUG_ON_ZERO()
        lib: string_helpers: silence snprintf() output truncation warning
        MAINTAINERS: Add kernel hardening keywords __counted_by{_le|_be}
      36843bfb
    • David Laight's avatar
      x86: fix off-by-one in access_ok() · 573f45a9
      David Laight authored
      
      When the size isn't a small constant, __access_ok() will call
      valid_user_address() with the address after the last byte of the user
      buffer.
      
      It is valid for a buffer to end with the last valid user address so
      valid_user_address() must allow accesses to the base of the guard page.
      
      [ This introduces an off-by-one in the other direction for the plain
        non-sized accesses, but since we have that guard region that is a
        whole page, those checks "allowing" accesses to that guard region
        don't really matter. The access will fault anyway, whether to the
        guard page or if the address has been masked to all ones - Linus ]
      
      Fixes: 86e6b154 ("x86: fix user address masking non-canonical speculation issue")
      Signed-off-by: default avatarDavid Laight <david.laight@aculab.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      573f45a9
    • Linus Torvalds's avatar
      futex: improve user space accesses · 43a43faf
      Linus Torvalds authored
      Josh Poimboeuf reports that he got a "will-it-scale.per_process_ops 1.9%
      improvement" report for his patch that changed __get_user() to use
      pointer masking instead of the explicit speculation barrier.  However,
      that patch doesn't actually work in the general case, because some (very
      bad) architecture-specific code actually depends on __get_user() also
      working on kernel addresses.
      
      A profile showed that the offending __get_user() was the futex code,
      which really should be fixed up to not use that horrid legacy case.
      Rewrite futex_get_value_locked() to use the modern user acccess helpers,
      and inline it so that the compiler not only avoids the function call for
      a few instructions, but can do CSE on the address masking.
      
      It also turns out the x86 futex functions have unnecessary barriers in
      other places, so let's fix those up too.
      
      Link: https://lore.kernel.org/all/20241115230653.hfvzyf3aqqntgp63@jpoimboe/
      
      
      Reported-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      43a43faf
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 4e07155d
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
      
       - omapfb: Remove unused code (Dr. David Alan Gilbert)
      
       - sh7760fb: Fix memory leak in error path of sh7760fb_alloc_mem() (Zhen
         Lei)
      
      * tag 'fbdev-for-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: omapfb: Remove some deadcode
        fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem()
      4e07155d
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.13-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 3e51108c
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - support for NT36672A touchscreen added to novatek-nvt-ts driver
      
       - a change to ads7846 driver to prevent XPT2046 from locking up
      
       - a change switching platform input dirves back to using remove()
         method (from remove_new())
      
       - updates to a number of input drivers to use the new cleanup
         facilities (__free(...), guard(), and scoped-guard()) which ensure
         that the resources and locks are released properly and automatically
      
       - other assorted driver cleanups and fixes.
      
      * tag 'input-for-v6.13-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (109 commits)
        Input: mpr121 - use devm_regulator_get_enable_read_voltage()
        Input: sun4i-lradc-keys - don't include 'pm_wakeup.h' directly
        Input: spear-keyboard - don't include 'pm_wakeup.h' directly
        Input: cypress-sf - constify struct i2c_device_id
        Input: ads7846 - increase xfer array size in 'struct ser_req'
        Input: fix the input_event struct documentation
        Input: i8042 - fix typo dublicate to duplicate
        Input: ads7846 - add dummy command register clearing cycle
        Input: cs40l50 - fix wrong usage of INIT_WORK()
        Input: introduce notion of passive observers for input handlers
        Input: maple_keyb - use guard notation when acquiring mutex
        Input: locomokbd - use guard notation when acquiring spinlock
        Input: hilkbd - use guard notation when acquiring spinlock
        Input: synaptics-rmi4 - switch to using cleanup functions in F34
        Input: synaptics - fix a typo
        dt-bindings: input: rotary-encoder: Fix "rotary-encoder,rollover" type
        Input: omap-keypad - use guard notation when acquiring mutex
        Input: imagis - fix warning regarding 'imagis_3038_data' being unused
        Input: userio - remove unneeded semicolon
        Input: sparcspkr - use cleanup facility for device_node
        ...
      3e51108c
    • Linus Torvalds's avatar
      Revert "HID: bpf: allow write access to quirks field in struct hid_device" · 919464de
      Linus Torvalds authored
      
      This reverts commit 6fd47eff, and the related self-test update
      commit e14e0eae ("selftests/hid: add test for assigning a given
      device to hid-generic").
      
      It results in things like the scroll wheel on Logitech mice not working
      after a reboot due to the kernel being confused about the state of the
      high-resolution mode.
      
      Quoting Benjamin Tissoires:
       "The idea of 6fd47eff was to be able to call hid_bpf_rdesc_fixup()
        once per reprobe of the device.
      
        However, because the bpf filter can now change the quirk value, the
        call had to be moved before the driver gets bound (which was
        previously ensuring the unicity of the call).
      
        The net effect is that now, in the case hid-generic gets loaded first
        and then the specific driver gets loaded once the disk is available,
        the value of ->quirks is not reset, but kept to the value that was set
        by hid-generic (HID_QUIRK_INPUT_PER_APP).
      
        Once hid-logitech-hidpp kicks in, that quirk is now set, which creates
        two inputs for the single mouse: one keyboard for fancy shortcuts, and
        one mouse node.
      
        However, hid-logitech-hidpp expects only one input node to be attached
        (it stores it into hidpp->input), and when a wheel event is received,
        because there is some processing with high-resolution wheel events,
        the wheel event is injected into hidpp->input.
      
        And of course, when HID_QUIRK_INPUT_PER_APP is set, hidpp->input gets
        the keyboard node, which doesn't have wheel event type, and the events
        are ignored"
      
      Reported-and-bisected-by: default avatarMike Galbraith <efault@gmx.de>
      Link: https://lore.kernel.org/all/CAHk-=wiUkQM3uheit2cNM0Y0OOY5qqspJgC8LkmOkJ2p2LDxcw@mail.gmail.com/
      
      
      Acked-by: default avatarBenjamin Tissoires <bentiss@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      919464de
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · 0201710b
      Dmitry Torokhov authored
      Prepare input updates for 6.13 merge window.
      0201710b
  3. Nov 24, 2024
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 9f16d5e6
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "The biggest change here is eliminating the awful idea that KVM had of
        essentially guessing which pfns are refcounted pages.
      
        The reason to do so was that KVM needs to map both non-refcounted
        pages (for example BARs of VFIO devices) and VM_PFNMAP/VM_MIXMEDMAP
        VMAs that contain refcounted pages.
      
        However, the result was security issues in the past, and more recently
        the inability to map VM_IO and VM_PFNMAP memory that _is_ backed by
        struct page but is not refcounted. In particular this broke virtio-gpu
        blob resources (which directly map host graphics buffers into the
        guest as "vram" for the virtio-gpu device) with the amdgpu driver,
        because amdgpu allocates non-compound higher order pages and the tail
        pages could not be mapped into KVM.
      
        This requires adjusting all uses of struct page in the
        per-architecture code, to always work on the pfn whenever possible.
        The large series that did this, from David Stevens and Sean
        Christopherson, also cleaned up substantially the set of functions
        that provided arch code with the pfn for a host virtual addresses.
      
        The previous maze of twisty little passages, all different, is
        replaced by five functions (__gfn_to_page, __kvm_faultin_pfn, the
        non-__ versions of these two, and kvm_prefetch_pages) saving almost
        200 lines of code.
      
        ARM:
      
         - Support for stage-1 permission indirection (FEAT_S1PIE) and
           permission overlays (FEAT_S1POE), including nested virt + the
           emulated page table walker
      
         - Introduce PSCI SYSTEM_OFF2 support to KVM + client driver. This
           call was introduced in PSCIv1.3 as a mechanism to request
           hibernation, similar to the S4 state in ACPI
      
         - Explicitly trap + hide FEAT_MPAM (QoS controls) from KVM guests. As
           part of it, introduce trivial initialization of the host's MPAM
           context so KVM can use the corresponding traps
      
         - PMU support under nested virtualization, honoring the guest
           hypervisor's trap configuration and event filtering when running a
           nested guest
      
         - Fixes to vgic ITS serialization where stale device/interrupt table
           entries are not zeroed when the mapping is invalidated by the VM
      
         - Avoid emulated MMIO completion if userspace has requested
           synchronous external abort injection
      
         - Various fixes and cleanups affecting pKVM, vCPU initialization, and
           selftests
      
        LoongArch:
      
         - Add iocsr and mmio bus simulation in kernel.
      
         - Add in-kernel interrupt controller emulation.
      
         - Add support for virtualization extensions to the eiointc irqchip.
      
        PPC:
      
         - Drop lingering and utterly obsolete references to PPC970 KVM, which
           was removed 10 years ago.
      
         - Fix incorrect documentation references to non-existing ioctls
      
        RISC-V:
      
         - Accelerate KVM RISC-V when running as a guest
      
         - Perf support to collect KVM guest statistics from host side
      
        s390:
      
         - New selftests: more ucontrol selftests and CPU model sanity checks
      
         - Support for the gen17 CPU model
      
         - List registers supported by KVM_GET/SET_ONE_REG in the
           documentation
      
        x86:
      
         - Cleanup KVM's handling of Accessed and Dirty bits to dedup code,
           improve documentation, harden against unexpected changes.
      
           Even if the hardware A/D tracking is disabled, it is possible to
           use the hardware-defined A/D bits to track if a PFN is Accessed
           and/or Dirty, and that removes a lot of special cases.
      
         - Elide TLB flushes when aging secondary PTEs, as has been done in
           x86's primary MMU for over 10 years.
      
         - Recover huge pages in-place in the TDP MMU when dirty page logging
           is toggled off, instead of zapping them and waiting until the page
           is re-accessed to create a huge mapping. This reduces vCPU jitter.
      
         - Batch TLB flushes when dirty page logging is toggled off. This
           reduces the time it takes to disable dirty logging by ~3x.
      
         - Remove the shrinker that was (poorly) attempting to reclaim shadow
           page tables in low-memory situations.
      
         - Clean up and optimize KVM's handling of writes to
           MSR_IA32_APICBASE.
      
         - Advertise CPUIDs for new instructions in Clearwater Forest
      
         - Quirk KVM's misguided behavior of initialized certain feature MSRs
           to their maximum supported feature set, which can result in KVM
           creating invalid vCPU state. E.g. initializing PERF_CAPABILITIES to
           a non-zero value results in the vCPU having invalid state if
           userspace hides PDCM from the guest, which in turn can lead to
           save/restore failures.
      
         - Fix KVM's handling of non-canonical checks for vCPUs that support
           LA57 to better follow the "architecture", in quotes because the
           actual behavior is poorly documented. E.g. most MSR writes and
           descriptor table loads ignore CR4.LA57 and operate purely on
           whether the CPU supports LA57.
      
         - Bypass the register cache when querying CPL from kvm_sched_out(),
           as filling the cache from IRQ context is generally unsafe; harden
           the cache accessors to try to prevent similar issues from occuring
           in the future. The issue that triggered this change was already
           fixed in 6.12, but was still kinda latent.
      
         - Advertise AMD_IBPB_RET to userspace, and fix a related bug where
           KVM over-advertises SPEC_CTRL when trying to support cross-vendor
           VMs.
      
         - Minor cleanups
      
         - Switch hugepage recovery thread to use vhost_task.
      
           These kthreads can consume significant amounts of CPU time on
           behalf of a VM or in response to how the VM behaves (for example
           how it accesses its memory); therefore KVM tried to place the
           thread in the VM's cgroups and charge the CPU time consumed by that
           work to the VM's container.
      
           However the kthreads did not process SIGSTOP/SIGCONT, and therefore
           cgroups which had KVM instances inside could not complete freezing.
      
           Fix this by replacing the kthread with a PF_USER_WORKER thread, via
           the vhost_task abstraction. Another 100+ lines removed, with
           generally better behavior too like having these threads properly
           parented in the process tree.
      
         - Revert a workaround for an old CPU erratum (Nehalem/Westmere) that
           didn't really work; there was really nothing to work around anyway:
           the broken patch was meant to fix nested virtualization, but the
           PERF_GLOBAL_CTRL MSR is virtualized and therefore unaffected by the
           erratum.
      
         - Fix 6.12 regression where CONFIG_KVM will be built as a module even
           if asked to be builtin, as long as neither KVM_INTEL nor KVM_AMD is
           'y'.
      
        x86 selftests:
      
         - x86 selftests can now use AVX.
      
        Documentation:
      
         - Use rST internal links
      
         - Reorganize the introduction to the API document
      
        Generic:
      
         - Protect vcpu->pid accesses outside of vcpu->mutex with a rwlock
           instead of RCU, so that running a vCPU on a different task doesn't
           encounter long due to having to wait for all CPUs become quiescent.
      
           In general both reads and writes are rare, but userspace that
           supports confidential computing is introducing the use of "helper"
           vCPUs that may jump from one host processor to another. Those will
           be very happy to trigger a synchronize_rcu(), and the effect on
           performance is quite the disaster"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (298 commits)
        KVM: x86: Break CONFIG_KVM_X86's direct dependency on KVM_INTEL || KVM_AMD
        KVM: x86: add back X86_LOCAL_APIC dependency
        Revert "KVM: VMX: Move LOAD_IA32_PERF_GLOBAL_CTRL errata handling out of setup_vmcs_config()"
        KVM: x86: switch hugepage recovery thread to vhost_task
        KVM: x86: expose MSR_PLATFORM_INFO as a feature MSR
        x86: KVM: Advertise CPUIDs for new instructions in Clearwater Forest
        Documentation: KVM: fix malformed table
        irqchip/loongson-eiointc: Add virt extension support
        LoongArch: KVM: Add irqfd support
        LoongArch: KVM: Add PCHPIC user mode read and write functions
        LoongArch: KVM: Add PCHPIC read and write functions
        LoongArch: KVM: Add PCHPIC device support
        LoongArch: KVM: Add EIOINTC user mode read and write functions
        LoongArch: KVM: Add EIOINTC read and write functions
        LoongArch: KVM: Add EIOINTC device support
        LoongArch: KVM: Add IPI user mode read and write function
        LoongArch: KVM: Add IPI read and write function
        LoongArch: KVM: Add IPI device support
        LoongArch: KVM: Add iocsr and mmio bus simulation in kernel
        KVM: arm64: Pass on SVE mapping failures
        ...
      9f16d5e6
  4. Nov 23, 2024
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 42d9e8b7
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Rework kfence support for the HPT MMU to work on systems with >= 16TB
         of RAM.
      
       - Remove the powerpc "maple" platform, used by the "Yellow Dog
         Powerstation".
      
       - Add support for DYNAMIC_FTRACE_WITH_CALL_OPS,
         DYNAMIC_FTRACE_WITH_DIRECT_CALLS & BPF Trampolines.
      
       - Add support for running KVM nested guests on Power11.
      
       - Other small features, cleanups and fixes.
      
      Thanks to Amit Machhiwal, Arnd Bergmann, Christophe Leroy, Costa
      Shulyupin, David Hunter, David Wang, Disha Goel, Gautam Menghani, Geert
      Uytterhoeven, Hari Bathini, Julia Lawall, Kajol Jain, Keith Packard,
      Lukas Bulwahn, Madhavan Srinivasan, Markus Elfring, Michal Suchanek,
      Ming Lei, Mukesh Kumar Chaurasiya, Nathan Chancellor, Naveen N Rao,
      Nicholas Piggin, Nysal Jan K.A, Paulo Miguel Almeida, Pavithra Prakash,
      Ritesh Harjani (IBM), Rob Herring (Arm), Sachin P Bappalige, Shen
      Lichuan, Simon Horman, Sourabh Jain, Thomas Weißschuh, Thorsten Blum,
      Thorsten Leemhuis, Venkat Rao Bagalkote, Zhang Zekun, and zhang jiao.
      
      * tag 'powerpc-6.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (89 commits)
        EDAC/powerpc: Remove PPC_MAPLE drivers
        powerpc/perf: Add per-task/process monitoring to vpa_pmu driver
        powerpc/kvm: Add vpa latency counters to kvm_vcpu_arch
        docs: ABI: sysfs-bus-event_source-devices-vpa-pmu: Document sysfs event format entries for vpa_pmu
        powerpc/perf: Add perf interface to expose vpa counters
        MAINTAINERS: powerpc: Mark Maddy as "M"
        powerpc/Makefile: Allow overriding CPP
        powerpc-km82xx.c: replace of_node_put() with __free
        ps3: Correct some typos in comments
        powerpc/kexec: Fix return of uninitialized variable
        macintosh: Use common error handling code in via_pmu_led_init()
        powerpc/powermac: Use of_property_match_string() in pmac_has_backlight_type()
        powerpc: remove dead config options for MPC85xx platform support
        powerpc/xive: Use cpumask_intersects()
        selftests/powerpc: Remove the path after initialization.
        powerpc/xmon: symbol lookup length fixed
        powerpc/ep8248e: Use %pa to format resource_size_t
        powerpc/ps3: Reorganize kerneldoc parameter names
        KVM: PPC: Book3S HV: Fix kmv -> kvm typo
        powerpc/sstep: make emulate_vsx_load and emulate_vsx_store static
        ...
      42d9e8b7
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2024-11-18-19-27' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 5c00ff74
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - The series "zram: optimal post-processing target selection" from
         Sergey Senozhatsky improves zram's post-processing selection
         algorithm. This leads to improved memory savings.
      
       - Wei Yang has gone to town on the mapletree code, contributing several
         series which clean up the implementation:
      	- "refine mas_mab_cp()"
      	- "Reduce the space to be cleared for maple_big_node"
      	- "maple_tree: simplify mas_push_node()"
      	- "Following cleanup after introduce mas_wr_store_type()"
      	- "refine storing null"
      
       - The series "selftests/mm: hugetlb_fault_after_madv improvements" from
         David Hildenbrand fixes this selftest for s390.
      
       - The series "introduce pte_offset_map_{ro|rw}_nolock()" from Qi Zheng
         implements some rationaizations and cleanups in the page mapping
         code.
      
       - The series "mm: optimize shadow entries removal" from Shakeel Butt
         optimizes the file truncation code by speeding up the handling of
         shadow entries.
      
       - The series "Remove PageKsm()" from Matthew Wilcox completes the
         migration of this flag over to being a folio-based flag.
      
       - The series "Unify hugetlb into arch_get_unmapped_area functions" from
         Oscar Salvador implements a bunch of consolidations and cleanups in
         the hugetlb code.
      
       - The series "Do not shatter hugezeropage on wp-fault" from Dev Jain
         takes away the wp-fault time practice of turning a huge zero page
         into small pages. Instead we replace the whole thing with a THP. More
         consistent cleaner and potentiall saves a large number of pagefaults.
      
       - The series "percpu: Add a test case and fix for clang" from Andy
         Shevchenko enhances and fixes the kernel's built in percpu test code.
      
       - The series "mm/mremap: Remove extra vma tree walk" from Liam Howlett
         optimizes mremap() by avoiding doing things which we didn't need to
         do.
      
       - The series "Improve the tmpfs large folio read performance" from
         Baolin Wang teaches tmpfs to copy data into userspace at the folio
         size rather than as individual pages. A 20% speedup was observed.
      
       - The series "mm/damon/vaddr: Fix issue in
         damon_va_evenly_split_region()" fro Zheng Yejian fixes DAMON
         splitting.
      
       - The series "memcg-v1: fully deprecate charge moving" from Shakeel
         Butt removes the long-deprecated memcgv2 charge moving feature.
      
       - The series "fix error handling in mmap_region() and refactor" from
         Lorenzo Stoakes cleanup up some of the mmap() error handling and
         addresses some potential performance issues.
      
       - The series "x86/module: use large ROX pages for text allocations"
         from Mike Rapoport teaches x86 to use large pages for
         read-only-execute module text.
      
       - The series "page allocation tag compression" from Suren Baghdasaryan
         is followon maintenance work for the new page allocation profiling
         feature.
      
       - The series "page->index removals in mm" from Matthew Wilcox remove
         most references to page->index in mm/. A slow march towards shrinking
         struct page.
      
       - The series "damon/{self,kunit}tests: minor fixups for DAMON debugfs
         interface tests" from Andrew Paniakin performs maintenance work for
         DAMON's self testing code.
      
       - The series "mm: zswap swap-out of large folios" from Kanchana Sridhar
         improves zswap's batching of compression and decompression. It is a
         step along the way towards using Intel IAA hardware acceleration for
         this zswap operation.
      
       - The series "kasan: migrate the last module test to kunit" from
         Sabyrzhan Tasbolatov completes the migration of the KASAN built-in
         tests over to the KUnit framework.
      
       - The series "implement lightweight guard pages" from Lorenzo Stoakes
         permits userapace to place fault-generating guard pages within a
         single VMA, rather than requiring that multiple VMAs be created for
         this. Improved efficiencies for userspace memory allocators are
         expected.
      
       - The series "memcg: tracepoint for flushing stats" from JP Kobryn uses
         tracepoints to provide increased visibility into memcg stats flushing
         activity.
      
       - The series "zram: IDLE flag handling fixes" from Sergey Senozhatsky
         fixes a zram buglet which potentially affected performance.
      
       - The series "mm: add more kernel parameters to control mTHP" from
         Maíra Canal enhances our ability to control/configuremultisize THP
         from the kernel boot command line.
      
       - The series "kasan: few improvements on kunit tests" from Sabyrzhan
         Tasbolatov has a couple of fixups for the KASAN KUnit tests.
      
       - The series "mm/list_lru: Split list_lru lock into per-cgroup scope"
         from Kairui Song optimizes list_lru memory utilization when lockdep
         is enabled.
      
      * tag 'mm-stable-2024-11-18-19-27' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (215 commits)
        cma: enforce non-zero pageblock_order during cma_init_reserved_mem()
        mm/kfence: add a new kunit test test_use_after_free_read_nofault()
        zram: fix NULL pointer in comp_algorithm_show()
        memcg/hugetlb: add hugeTLB counters to memcg
        vmstat: call fold_vm_zone_numa_events() before show per zone NUMA event
        mm: mmap_lock: check trace_mmap_lock_$type_enabled() instead of regcount
        zram: ZRAM_DEF_COMP should depend on ZRAM
        MAINTAINERS/MEMORY MANAGEMENT: add document files for mm
        Docs/mm/damon: recommend academic papers to read and/or cite
        mm: define general function pXd_init()
        kmemleak: iommu/iova: fix transient kmemleak false positive
        mm/list_lru: simplify the list_lru walk callback function
        mm/list_lru: split the lock to per-cgroup scope
        mm/list_lru: simplify reparenting and initial allocation
        mm/list_lru: code clean up for reparenting
        mm/list_lru: don't export list_lru_add
        mm/list_lru: don't pass unnecessary key parameters
        kasan: add kunit tests for kmalloc_track_caller, kmalloc_node_track_caller
        kasan: change kasan_atomics kunit test as KUNIT_CASE_SLOW
        kasan: use EXPORT_SYMBOL_IF_KUNIT to export symbols
        ...
      5c00ff74
    • Linus Torvalds's avatar
      Merge tag '6.13-rc-part1-SMB3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 228a1157
      Linus Torvalds authored
      Pull smb client updates from Steve French:
      
       - Fix two SMB3.1.1 POSIX Extensions problems
      
       - Fixes for special file handling (symlinks and FIFOs)
      
       - Improve compounding
      
       - Four cleanup patches
      
       - Fix use after free in signing
      
       - Add support for handling namespaces for reconnect related upcalls
         (e.g. for DNS names resolution and auth)
      
       - Fix various directory lease problems (directory entry caching),
         including some important potential use after frees
      
      * tag '6.13-rc-part1-SMB3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: prevent use-after-free due to open_cached_dir error paths
        smb: Don't leak cfid when reconnect races with open_cached_dir
        smb: client: handle max length for SMB symlinks
        smb: client: get rid of bounds check in SMB2_ioctl_init()
        smb: client: improve compound padding in encryption
        smb3: request handle caching when caching directories
        cifs: Recognize SFU char/block devices created by Windows NFS server on Windows Server <<2012
        CIFS: New mount option for cifs.upcall namespace resolution
        smb/client: Prevent error pointer dereference
        fs/smb/client: implement chmod() for SMB3 POSIX Extensions
        smb: cached directories can be more than root file handle
        smb: client: fix use-after-free of signing key
        smb: client: Use str_yes_no() helper function
        smb: client: memcpy() with surrounding object base address
        cifs: Remove pre-historic unused CIFSSMBCopy
      228a1157
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs · e7675238
      Linus Torvalds authored
      Pull overlayfs updates from Amir Goldstein:
      
       - Fix a syzbot reported NULL pointer deref with bfs lower layers
      
       - Fix a copy up failure of large file from lower fuse fs
      
       - Followup cleanup of backing_file API from Miklos
      
       - Introduction and use of revert/override_creds_light() helpers, that
         were suggested by Christian as a mitigation to cache line bouncing
         and false sharing of fields in overlayfs creator_cred long lived
         struct cred copy.
      
       - Store up to two backing file references (upper and lower) in an
         ovl_file container instead of storing a single backing file in
         file->private_data.
      
         This is used to avoid the practice of opening a short lived backing
         file for the duration of some file operations and to avoid the
         specialized use of FDPUT_FPUT in such occasions, that was getting in
         the way of Al's fd_file() conversions.
      
      * tag 'ovl-update-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs:
        ovl: Filter invalid inodes with missing lookup function
        ovl: convert ovl_real_fdget() callers to ovl_real_file()
        ovl: convert ovl_real_fdget_path() callers to ovl_real_file_path()
        ovl: store upper real file in ovl_file struct
        ovl: allocate a container struct ovl_file for ovl private context
        ovl: do not open non-data lower file for fsync
        ovl: Optimize override/revert creds
        ovl: pass an explicit reference of creators creds to callers
        ovl: use wrapper ovl_revert_creds()
        fs/backing-file: Convert to revert/override_creds_light()
        cred: Add a light version of override/revert_creds()
        backing-file: clean up the API
        ovl: properly handle large files in ovl_security_fileattr
      e7675238
    • Linus Torvalds's avatar
      Merge tag 'unicode-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode · 060fc106
      Linus Torvalds authored
      Pull unicode updates from Gabriel Krisman Bertazi:
      
       - constify a read-only struct (Thomas Weißschuh)
      
       - fix the error path of unicode_load, avoiding a possible kernel oops
         if it fails to find the unicode module (André Almeida)
      
       - documentation fix, updating a filename in the README (Gan Jie)
      
       - add the link of my tree to MAINTAINERS (André Almeida)
      
      * tag 'unicode-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode:
        MAINTAINERS: Add Unicode tree
        unicode: change the reference of database file
        unicode: Fix utf8_load() error path
        unicode: constify utf8 data table
      060fc106
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl · 980f8f8f
      Linus Torvalds authored
      Pull sysctl updates from Joel Granados:
       "sysctl ctl_table constification:
      
         - Constifying ctl_table structs prevents the modification of
           proc_handler function pointers. All ctl_table struct arguments are
           const qualified in the sysctl API in such a way that the ctl_table
           arrays being defined elsewhere and passed through sysctl can be
           constified one-by-one.
      
           We kick the constification off by qualifying user_table in
           kernel/ucount.c and expect all the ctl_tables to be constified in
           the coming releases.
      
        Misc fixes:
      
         - Adjust comments in two places to better reflect the code
      
         - Remove superfluous dput calls
      
         - Remove Luis from sysctl maintainership
      
         - Replace comments about holding a lock with calls to
           lockdep_assert_held"
      
      * tag 'sysctl-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl:
        sysctl: Reduce dput(child) calls in proc_sys_fill_cache()
        sysctl: Reorganize kerneldoc parameter names
        ucounts: constify sysctl table user_table
        sysctl: update comments to new registration APIs
        MAINTAINERS: remove me from sysctl
        sysctl: Convert locking comments to lockdep assertions
        const_structs.checkpatch: add ctl_table
        sysctl: make internal ctl_tables const
        sysctl: allow registration of const struct ctl_table
        sysctl: move internal interfaces to const struct ctl_table
        bpf: Constify ctl_table argument of filter function
      980f8f8f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 2a163a4c
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Seveal fixes scattered across the drivers and a few new features:
      
         - Minor updates and bug fixes to hfi1, efa, iopob, bnxt, hns
      
         - Force disassociate the userspace FD when hns does an async reset
      
         - bnxt new features for optimized modify QP to skip certain stayes,
           CQ coalescing, better debug dumping
      
         - mlx5 new data placement ordering feature
      
         - Faster destruction of mlx5 devx HW objects
      
         - Improvements to RDMA CM mad handling"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (51 commits)
        RDMA/bnxt_re: Correct the sequence of device suspend
        RDMA/bnxt_re: Use the default mode of congestion control
        RDMA/bnxt_re: Support different traffic class
        IB/cm: Rework sending DREQ when destroying a cm_id
        IB/cm: Do not hold reference on cm_id unless needed
        IB/cm: Explicitly mark if a response MAD is a retransmission
        RDMA/mlx5: Move events notifier registration to be after device registration
        RDMA/bnxt_re: Cache MSIx info to a local structure
        RDMA/bnxt_re: Refurbish CQ to NQ hash calculation
        RDMA/bnxt_re: Refactor NQ allocation
        RDMA/bnxt_re: Fail probe early when not enough MSI-x vectors are reserved
        RDMA/hns: Fix different dgids mapping to the same dip_idx
        RDMA/bnxt_re: Add set_func_resources support for P5/P7 adapters
        RDMA/bnxt_re: Enhance RoCE SRIOV resource configuration design
        bnxt_en: Add support for RoCE sriov configuration
        RDMA/hns: Fix NULL pointer derefernce in hns_roce_map_mr_sg()
        RDMA/hns: Fix out-of-order issue of requester when setting FENCE
        RDMA/nldev: Add IB device and net device rename events
        RDMA/mlx5: Add implementation for ufile_hw_cleanup device operation
        RDMA/core: Move ib_uverbs_file struct to uverbs_types.h
        ...
      2a163a4c
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux · ceba6f6f
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core Updates:
         - Convert call-sites using iommu_domain_alloc() to more specific
           versions and remove function
         - Introduce iommu_paging_domain_alloc_flags()
         - Extend support for allocating PASID-capable domains to more drivers
         - Remove iommu_present()
         - Some smaller improvements
      
        New IOMMU driver for RISC-V
      
        Intel VT-d Updates:
         - Add domain_alloc_paging support
         - Enable user space IOPFs in non-PASID and non-svm cases
         - Small code refactoring and cleanups
         - Add domain replacement support for pasid
      
        AMD-Vi Updates:
         - Adapt to iommu_paging_domain_alloc_flags() interface and alloc V2
           page-tables by default
         - Replace custom domain ID allocator with IDA allocator
         - Add ops->release_domain() support
         - Other improvements to device attach and domain allocation code
           paths
      
        ARM-SMMU Updates:
         - SMMUv2:
            - Return -EPROBE_DEFER for client devices probing before their
              SMMU
            - Devicetree binding updates for Qualcomm MMU-500 implementations
         - SMMUv3:
            - Minor fixes and cleanup for NVIDIA's virtual command queue
              driver
         - IO-PGTable:
            - Fix indexing of concatenated PGDs and extend selftest coverage
            - Remove unused block-splitting support
      
        S390 IOMMU:
         - Implement support for blocking domain
      
        Mediatek IOMMU:
         - Enable 35-bit physical address support for mt8186
      
        OMAP IOMMU driver:
         - Adapt to recent IOMMU core changes and unbreak driver"
      
      * tag 'iommu-updates-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux: (92 commits)
        iommu/tegra241-cmdqv: Fix alignment failure at max_n_shift
        iommu: Make set_dev_pasid op support domain replacement
        iommu/arm-smmu-v3: Make set_dev_pasid() op support replace
        iommu/vt-d: Add set_dev_pasid callback for nested domain
        iommu/vt-d: Make identity_domain_set_dev_pasid() to handle domain replacement
        iommu/vt-d: Make intel_svm_set_dev_pasid() support domain replacement
        iommu/vt-d: Limit intel_iommu_set_dev_pasid() for paging domain
        iommu/vt-d: Make intel_iommu_set_dev_pasid() to handle domain replacement
        iommu/vt-d: Add iommu_domain_did() to get did
        iommu/vt-d: Consolidate the struct dev_pasid_info add/remove
        iommu/vt-d: Add pasid replace helpers
        iommu/vt-d: Refactor the pasid setup helpers
        iommu/vt-d: Add a helper to flush cache for updating present pasid entry
        iommu: Pass old domain to set_dev_pasid op
        iommu/iova: Fix typo 'adderss'
        iommu: Add a kdoc to iommu_unmap()
        iommu/io-pgtable-arm-v7s: Remove split on unmap behavior
        iommu/io-pgtable-arm: Remove split on unmap behavior
        iommu/vt-d: Drain PRQs when domain removed from RID
        iommu/vt-d: Drop pasid requirement for prq initialization
        ...
      ceba6f6f
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · eb78332b
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "These update a few thermal drivers used on ARM platforms and thermal
        tools:
      
         - Add SAR2130P compatible to DT bindings in the QCom Tsens driver
           (Dmitry Baryshkov)
      
         - Add static annotation to arrays describing platform sensors in the
           LVTS Mediatek driver (Colin Ian King)
      
         - Switch back to struct platform_driver::remove() from the previous
           callbacks prototype rework (Uwe Kleine-König)
      
         - Add MSM8937 compatible to DT bindings and its support in the QCom
           Tsens driver (Barnabás Czémán)
      
         - Remove a pointless sign test on an unsigned value in
           k3_bgp_read_temp() in the k3_j72xx_bandgap driver (Rex Nie)
      
         - Fix a pointer reference loss when realloc() fails in the thermal
           library (Zhang Jiao)"
      
      * tag 'thermal-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        tools/thermal: Fix common realloc mistake
        thermal/drivers/k3_j72xx_bandgap: Simplify code in k3_bgp_read_temp()
        thermal/drivers/qcom/tsens-v1: Add support for MSM8937 tsens
        dt-bindings: thermal: tsens: Add MSM8937
        thermal: Switch back to struct platform_driver::remove()
        thermal/drivers/mediatek/lvts_thermal: Make read-only arrays static const
        dt-bindings: thermal: qcom-tsens: Add SAR2130P compatible
      eb78332b
    • Linus Torvalds's avatar
      Merge tag 'pm-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6f9baa9b
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These mostly are updates of cpufreq drivers used on ARM platforms plus
        one new DT-based cpufreq driver for virtualized guests and two cpuidle
        changes that should not make any difference on systems currently in
        the field, but will be needed for future development:
      
         - Add virtual cpufreq driver for guest kernels (David Dai)
      
         - Minor cleanup to various cpufreq drivers (Andy Shevchenko, Dhruva
           Gole, Jie Zhan, Jinjie Ruan, Shuosheng Huang, Sibi Sankar, and Yuan
           Can)
      
         - Revert "cpufreq: brcmstb-avs-cpufreq: Fix initial command check"
           (Colin Ian King)
      
         - Improve DT bindings for qcom-hw driver (Dmitry Baryshkov, Konrad
           Dybcio, and Nikunj Kela)
      
         - Make cpuidle_play_dead() try all idle states with :enter_dead()
           callbacks and change their return type to void (Rafael Wysocki)"
      
      * tag 'pm-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (22 commits)
        cpuidle: Change :enter_dead() driver callback return type to void
        cpuidle: Do not return from cpuidle_play_dead() on callback failures
        arm64: dts: qcom: sc8180x: Add a SoC-specific compatible to cpufreq-hw
        dt-bindings: cpufreq: cpufreq-qcom-hw: Add SC8180X compatible
        cpufreq: sun50i: add a100 cpufreq support
        cpufreq: mediatek-hw: Fix wrong return value in mtk_cpufreq_get_cpu_power()
        cpufreq: CPPC: Fix wrong return value in cppc_get_cpu_power()
        cpufreq: CPPC: Fix wrong return value in cppc_get_cpu_cost()
        cpufreq: loongson3: Check for error code from devm_mutex_init() call
        cpufreq: scmi: Fix cleanup path when boost enablement fails
        cpufreq: CPPC: Fix possible null-ptr-deref for cppc_get_cpu_cost()
        cpufreq: CPPC: Fix possible null-ptr-deref for cpufreq_cpu_get_raw()
        Revert "cpufreq: brcmstb-avs-cpufreq: Fix initial command check"
        dt-bindings: cpufreq: cpufreq-qcom-hw: Add SAR2130P compatible
        cpufreq: add virtual-cpufreq driver
        dt-bindings: cpufreq: add virtual cpufreq device
        cpufreq: loongson2: Unregister platform_driver on failure
        cpufreq: ti-cpufreq: Remove revision offsets in AM62 family
        cpufreq: ti-cpufreq: Allow backward compatibility for efuse syscon
        cppc_cpufreq: Remove HiSilicon CPPC workaround
        ...
      6f9baa9b
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · 619d996c
      Linus Torvalds authored
      Pull TPM updates from Jarkko Sakkinen:
       "Only some minor tweaks"
      
      * tag 'tpmdd-next-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm: atmel: Drop PPC64 specific MMIO setup
        char: tpm: cr50: Add new device/vendor ID 0x50666666
        char: tpm: cr50: Move i2c locking to request/relinquish locality ops
        char: tpm: cr50: Use generic request/relinquish locality ops
        tpm: ibmvtpm: Set TPM_OPS_AUTO_STARTUP flag on driver
      619d996c
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · d0c9a21c
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "MTD device changes:
         - switch platform_driver back to remove()
         - misc fixes
      
        SPI-NAND changes:
         - a load of fixes to Winbond manufacturer driver
         - structure constification
      
        Raw NAND changes:
         - improve the power management of the GPMI driver
         - Davinci driver clean-ups
         - fix leak in the Atmel driver
         - fix some typos in the core
      
        SPI NOR changes:
         - Introduce byte swap support for 8D-8D-8D mode and a user for it:
           macronix.
      
           SPI NOR flashes may swap the bytes on a 16-bit boundary when
           configured in Octal DTR mode. For such cases the byte order is
           propagated through SPI MEM to the SPI controllers so that the
           controllers swap the bytes back at runtime. This avoids breaking
           the boot sequence because of the endianness problems that appear
           when the bootloaders use 1-1-1 and the kernel uses 8D-8D-8D with
           byte swap support. Along with the SPI MEM byte swap support we
           queue a patch for the SPI MXIC controller that swaps the bytes back
           at runtime"
      
      * tag 'mtd/for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (25 commits)
        mtd: spi-nor: core: replace dummy buswidth from addr to data
        mtd: spi-nor: winbond: add "w/ and w/o SFDP" comment
        mtd: spi-nor: spansion: Use nor->addr_nbytes in octal DTR mode in RD_ANY_REG_OP
        mtd: Switch back to struct platform_driver::remove()
        mtd: cfi_cmdset_0002: remove redundant assignment to variable ret
        mtd: spinand: Constify struct nand_ecc_engine_ops
        MAINTAINERS: add mailing list for GPMI NAND driver
        mtd: spinand: winbond: Sort the devices
        mtd: spinand: winbond: Ignore the last ID characters
        mtd: spinand: winbond: Fix 512GW, 01GW, 01JW and 02JW ECC information
        mtd: spinand: winbond: Fix 512GW and 02JW OOB layout
        mtd: nand: raw: gpmi: improve power management handling
        mtd: nand: raw: gpmi: switch to SYSTEM_SLEEP_PM_OPS
        mtd: rawnand: davinci: use generic device property helpers
        mtd: rawnand: davinci: break the line correctly
        mtd: rawnand: davinci: order headers alphabetically
        mtd: rawnand: atmel: Fix possible memory leak
        mtd: rawnand: Correct multiple typos in comments
        mtd: hyperbus: rpc-if: Add missing MODULE_DEVICE_TABLE
        mtd: spi-nor: add support for Macronix Octal flash
        ...
      d0c9a21c
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 9f3a2ba6
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "The core framework gained a clk provider helper, a clk consumer
        helper, and some unit tests for the assigned clk rates feature in
        DeviceTree. On the vendor driver side, we gained a whole pile of SoC
        driver support detailed below. The majority in the diffstat is
        Qualcomm, but there's also quite a few Samsung and Mediatek clk driver
        additions in here as well. The top vendors is quite common, but the
        sheer amount of new drivers is uncommon, so I'm anticipating a larger
        number of fixes for clk drivers this cycle.
      
        Core:
         - devm_clk_bulk_get_all_enabled() to return number of clks acquired
         - devm_clk_hw_register_gate_parent_hw() helper to modernize drivers
         - KUnit tests for clk-assigned-rates{,-u64}
      
        New Drivers:
         - Marvell PXA1908 SoC clks
         - Mobileye EyeQ5, EyeQ6L and EyeQ6H clk driver
         - TWL6030 clk driver
         - Nuvoton Arbel BMC NPCM8XX SoC clks
         - MediaTek MT6735 SoC clks
         - MediaTek MT7620, MT7628 and MT7688 MMC clks
         - Add a driver for gated fixed rate clocks
         - Global clock controllers for Qualcomm QCS8300 and IPQ5424 SoCs
         - Camera, display and video clock controllers for Qualcomm SA8775P
           SoCs
         - Global, display, GPU, TCSR, and RPMh clock controllers for Qualcomm
           SAR2130P
         - Global, camera, display, GPU, and video clock controllers for
           Qualcomm SM8475 SoCs
         - RTC power domain and Battery Backup Function (VBATTB) clock support
           for the Renesas RZ/G3S SoC
         - Qualcomm IPQ9574 alpha PLLs
         - Support for i.MX91 CCM in the i.MX93 driver
         - Microchip LAN969X SoC clks
         - Cortex-A55 core clocks and Interrupt Control Unit (ICU) clock and
           reset on Renesas RZ/V2H(P)
         - Samsung ExynosAutov920 clk drivers for PERIC1, MISC, HSI0 and HSI1
         - Samsung Exynos8895 clk drivers for FSYS0/1, PERIC0/1, PERIS and TOP
      
        Updates:
         - Convert more clk bindings to YAML
         - Various clk driver cleanups: NULL checks, add const, etc.
         - Remove END/NUM #defines that count number of clks in various
           binding headers
         - Continue moving reset drivers to drivers/reset via auxiliary bus"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (162 commits)
        clk: clk-loongson2: Fix potential buffer overflow in flexible-array member access
        clk: Fix invalid execution of clk_set_rate
        clk: clk-loongson2: Fix memory corruption bug in struct loongson2_clk_provider
        clk: lan966x: make it selectable for ARCH_LAN969X
        clk: eyeq: add EyeQ6H west fixed factor clocks
        clk: eyeq: add EyeQ6H central fixed factor clocks
        clk: eyeq: add EyeQ5 fixed factor clocks
        clk: eyeq: add fixed factor clocks infrastructure
        clk: eyeq: require clock index with phandle in all cases
        clk: fixed-factor: add clk_hw_register_fixed_factor_index() function
        dt-bindings: clock: eyeq: add more Mobileye EyeQ5/EyeQ6H clocks
        dt-bindings: soc: mobileye: set `#clock-cells = <1>` for all compatibles
        clk: clk-axi-clkgen: make sure to enable the AXI bus clock
        dt-bindings: clock: axi-clkgen: include AXI clk
        clk: mmp: Add Marvell PXA1908 MPMU driver
        clk: mmp: Add Marvell PXA1908 APMU driver
        clk: mmp: Add Marvell PXA1908 APBCP driver
        clk: mmp: Add Marvell PXA1908 APBC driver
        dt-bindings: clock: Add Marvell PXA1908 clock bindings
        clk: mmp: Switch to use struct u32_fract instead of custom one
        ...
      9f3a2ba6
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 2fb7eb3d
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
      
       - Improve handling of LCD power states and interactions with the fbdev
         subsystem
      
       - Introduce new LCD_POWER_ constants to decouple the LCD subsystem from
         fbdev
      
       - Update several drivers to use the new LCD_POWER_ constants
      
       - Clarify the semantics of the lcd_ops.controls_device callback
      
       - Remove unnecessary includes and dependencies
      
       - Remove unused notifier functionality
      
       - Simplify code with scoped for-each loops
      
       - Fix module autoloading for the ktz8866 driver
      
       - Update device tree bindings to yaml format
      
       - Minor cleanups and improvements in various drivers
      
      * tag 'backlight-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: (33 commits)
        MAINTAINERS: Use Daniel Thompson's korg address for Backlight work
        dt-bindings: backlight: Convert zii,rave-sp-backlight.txt to yaml
        backlight: Remove notifier
        backlight: ktz8866: Fix module autoloading
        backlight: 88pm860x_bl: Simplify with scoped for each OF child loop
        backlight: lcd: Do not include <linux/fb.h> in lcd header
        backlight: lcd: Remove struct fb_videomode from set_mode callback
        backlight: lcd: Replace check_fb with controls_device
        HID: picoLCD: Replace check_fb in favor of struct fb_info.lcd_dev
        fbdev: omap: Use lcd power constants
        fbdev: imxfb: Use lcd power constants
        fbdev: imxfb: Replace check_fb in favor of struct fb_info.lcd_dev
        fbdev: clps711x-fb: Use lcd power constants
        fbdev: clps711x-fb: Replace check_fb in favor of struct fb_info.lcd_dev
        backlight: tdo24m: Use lcd power constants
        backlight: platform_lcd: Use lcd power constants
        backlight: platform_lcd: Remove match_fb from struct plat_lcd_data
        backlight: platform_lcd: Remove include statement for <linux/backlight.h>
        backlight: otm3225a: Use lcd power constants
        backlight: ltv350qv: Use lcd power constants
        ...
      2fb7eb3d
    • Linus Torvalds's avatar
      Merge tag 'leds-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · 93251bdf
      Linus Torvalds authored
      PULL LED updates from Lee Jones:
      
       - Remove unused local header files from various drivers
      
       - Revert platform driver removal to the original method for consistency
      
       - Introduce ordered workqueues for LED events, replacing the less
         efficient system_wq
      
       - Switch to a safer iteration macro in several drivers to prevent
         potential memory leaks
      
       - Fix a refcounting bug in the mt6360 flash LED driver
      
       - Fix an uninitialized variable in the mt6370_mc_pattern_clear()
         function
      
       - Resolve Smatch warnings in the leds-bcm6328 driver
      
       - Address a potential NULL pointer dereference in the brightness_show()
         function
      
       - Fix an incorrect format specifier in the ss4200 driver
      
       - Prevent a resource leak in the max5970 driver's probe function
      
       - Add support for specifying the number of serial shift bits in the
         device tree for the BCM63138 family
      
       - Implement multicolor brightness control in the lp5562 driver
      
       - Add a device tree property to override the default LED pin polarity
      
       - Add a property to specify the default brightness value when the LED
         is initially on
      
       - Set missing timing properties for the ktd2692 driver
      
       - Document the "rc-feedback" trigger for controlling LEDs based on
         remote control activity
      
       - Convert text bindings to YAML for the pca955x driver to enable device
         tree validation
      
       - Remove redundant checks for invalid channel numbers in the lp55xx
         driver
      
       - Update the MAINTAINERS file with current contact information
      
      * tag 'leds-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (46 commits)
        leds: ss4200: Fix the wrong format specifier for 'blinking'
        leds: pwm: Add optional DT property default-brightness
        dt-bindings: leds: pwm: Add default-brightness property
        leds: class: Protect brightness_show() with led_cdev->led_access mutex
        leds: ktd2692: Set missing timing properties
        leds: max5970: Fix unreleased fwnode_handle in probe function
        leds: Introduce ordered workqueue for LEDs events instead of system_wq
        MAINTAINERS: Replace Siemens IPC related bouncing maintainers
        leds: bcm6328: Replace divide condition with comparison for shift value
        leds: lp55xx: Remove redundant test for invalid channel number
        dt-bindings: leds: pca955x: Convert text bindings to YAML
        leds: rgb: leds-mt6370-rgb: Fix uninitialized variable 'ret' in mt6370_mc_pattern_clear
        leds: lp5562: Add multicolor brightness control
        dt-bindings: leds: Add 'active-high' property
        leds: Switch back to struct platform_driver::remove()
        leds: bcm63138: Add some register defines
        leds: bcm63138: Handle shift register config
        leds: bcm63138: Use scopes and guards
        dt-bindings: leds: bcm63138: Add shift register bits
        leds: leds-gpio-register: Reorganize kerneldoc parameter names
        ...
      93251bdf
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 80739fd0
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
      
       - Several drivers, including atmel-flexcom/rk8xx-core, palmas, and
         tps65010, have undergone minor code improvements to enhance
         consistency and fix race conditions.
      
       - The syscon driver now utilizes the regmap max_register_is_0
         capability for consistent register map configuration across syscons
         of all sizes.
      
       - New device support has been added for QCS8300, qcs615, SA8255p, and
         samsung,s2dos05, expanding the range of compatible hardware.
      
       - The cros_ec driver now supports loading cros_ec_ucsi on supported ECs
         and avoids loading the charger with UCSI, streamlining functionality.
      
       - The bd96801 driver now utilizes the more modern maple tree register
         cache, improving performance.
      
       - The da9052-spi driver has undergone a fix to change the read-mask to
         write-mask, preventing potential issues.
      
       - Unused declarations in max77693 have been removed, and support for
         samsung,s2dos05 has been added, enhancing code clarity and device
         compatibility.
      
       - Error handling in cs42l43 has been fixed to avoid unbalanced
         regulator put and ensure proper synchronization during driver
         removal.
      
       - The wcd934x driver now uses MODULE_DEVICE_TABLE() instead of
         MODULE_ALIAS(), improving code consistency.
      
       - Documentation for qcom,tcsr, syscon, and atmel-smc has been updated
         and reorganized for better clarity and maintainability.
      
       - The intel_soc_pmic_bxtwc driver has undergone significant
         improvements, including the use of IRQ domains for various devices,
         fixing IRQ domain names duplication, and code refactoring for better
         consistency and maintainability.
      
       - The ipaq-micro driver has received a fix for a missing break
         statement in the default case, enhancing code robustness.
      
       - Support for the AXP323 PMIC has been added to the axp20x driver,
         along with ensuring a clear relationship between IDs and model names,
         and allowing multiple regulators, broadening hardware compatibility.
      
       - The cs42l43 driver now disables IRQs during suspend for improved
         power management.
      
       - The adp5585 driver has reduced its dependencies by dropping the
         obsolete dependency on COMPILE_TEST.
      
       - Initial support for the MT6328 PMIC has been added to the mt6397
         driver, expanding the range of supported hardware.
      
       - The rtc-bd70528 driver has been simplified by dropping the IC name
         from IRQ, improving code readability.
      
       - Documentation for qcom,spmi-pmic, ti,twl, and zii,rave-sp has been
         updated to enhance clarity and incorporate new features.
      
       - The rt5033 driver has received a fix for a missing
         regmap_del_irq_chip() in the error handling path.
      
       - New device support has been added for MSM8917, and the
         intel_soc_pmic_crc driver now supports non-ACPI instantiated
         i2c_client.
      
       - The 88pm886 driver has added support for the RTC cell, and the tqmx86
         driver has improved its GPIO IRQ setup and added I2C IRQ support,
         increasing functionality.
      
       - The sprd,sc2731 DT schema has been updated and converted to YAML
         format for better readability and maintainability.
      
      * tag 'mfd-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (62 commits)
        dt-bindings: mfd: bd71828: Use charger resistor in mOhm instead of MOhm
        dt-bindings: mfd: sprd,sc2731: Convert to YAML
        mfd: tqmx86: Add I2C IRQ support
        mfd: tqmx86: Make IRQ setup errors non-fatal
        mfd: tqmx86: Refactor GPIO IRQ setup
        mfd: tqmx86: Improve gpio_irq module parameter description
        mfd: tqmx86: Add board definitions for TQMx120UC, TQMx130UC and TQMxE41S
        mfd: 88pm886: Add the RTC cell
        dt-bindings: mfd: Add Realtek RTL9300 switch peripherals
        mfd: intel_soc_pmic_crc: Add support for non ACPI instantiated i2c_client
        mfd: intel_soc_pmic_*: Consistently use filename as driver name
        dt-bindings: mfd: qcom,tcsr: Add compatible for MSM8917
        mfd: rt5033: Fix missing regmap_del_irq_chip()
        mfd: cgbc-core: Fix error handling paths in cgbc_init_device()
        dt-bindings: mfd: aspeed: Support for AST2700
        mfd: Switch back to struct platform_driver::remove()
        dt-bindings: mfd: qcom,spmi-pmic: Document PMICs added in SM8750
        mfd: rtc: bd7xxxx Drop IC name from IRQ
        mfd: mt6397: Add initial support for MT6328
        mfd: adp5585: Drop obsolete dependency on COMPILE_TEST
        ...
      80739fd0
    • Linus Torvalds's avatar
      Merge tag 'linux_kselftest-kunit-6.13-rc1-fixed' of... · e288c352
      Linus Torvalds authored
      Merge tag 'linux_kselftest-kunit-6.13-rc1-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kunit updates from Shuah Khan:
      
       - fix user-after-free (UAF) bug in kunit_init_suite()
      
       - add option to kunit tool to print just the summary of test results
      
       - add option to kunit tool to print just the failed test results
      
       - fix kunit_zalloc_skb() to use user passed in gfp value instead of
         hardcoding GFP_KERNEL
      
       - fixe kunit_zalloc_skb() kernel doc to include allocation flags
         variable
      
       - update KUnit email address for Brendan Higgins
      
       - add LoongArch config to qemu_configs
      
       - allow overriding the shutdown mode from qemu config
      
       - enable shutdown in loongarch qemu_config
      
       - fix potential null dereference in kunit_device_driver_test()
      
       - fix debugfs to use IS_ERR() for alloc_string_stream() error check
      
      * tag 'linux_kselftest-kunit-6.13-rc1-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: qemu_configs: loongarch: Enable shutdown
        kunit: tool: Allow overriding the shutdown mode from qemu config
        kunit: qemu_configs: Add LoongArch config
        kunit: debugfs: Use IS_ERR() for alloc_string_stream() error check
        kunit: Fix potential null dereference in kunit_device_driver_test()
        MAINTAINERS: Update KUnit email address for Brendan Higgins
        kunit: string-stream: Fix a UAF bug in kunit_init_suite()
        kunit: tool: print failed tests only
        kunit: tool: Only print the summary
        kunit: skb: add gfp to kernel doc for kunit_zalloc_skb()
        kunit: skb: use "gfp" variable instead of hardcoding GFP_KERNEL
      e288c352
  5. Nov 22, 2024
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 06afb0f3
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Addition of faultable tracepoints
      
         There's a tracepoint attached to both a system call entry and exit.
         This location is known to allow page faults. The tracepoints are
         called under an rcu_read_lock() which does not allow faults that can
         sleep. This limits the ability of tracepoint handlers to page fault
         in user space system call parameters. Now these tracepoints have been
         made "faultable", allowing the callbacks to fault in user space
         parameters and record them.
      
         Note, only the infrastructure has been implemented. The consumers
         (perf, ftrace, BPF) now need to have their code modified to allow
         faults.
      
       - Fix up of BPF code for the tracepoint faultable logic
      
       - Update tracepoints to use the new static branch API
      
       - Remove trace_*_rcuidle() variants and the SRCU protection they used
      
       - Remove unused TRACE_EVENT_FL_FILTERED logic
      
       - Replace strncpy() with strscpy() and memcpy()
      
       - Use replace per_cpu_ptr(smp_processor_id()) with this_cpu_ptr()
      
       - Fix perf events to not duplicate samples when tracing is enabled
      
       - Replace atomic64_add_return(1, counter) with
         atomic64_inc_return(counter)
      
       - Make stack trace buffer 4K instead of PAGE_SIZE
      
       - Remove TRACE_FLAG_IRQS_NOSUPPORT flag as it was never used
      
       - Get the true return address for function tracer when function graph
         tracer is also running.
      
         When function_graph trace is running along with function tracer, the
         parent function of the function tracer sometimes is
         "return_to_handler", which is the function graph trampoline to record
         the exit of the function. Use existing logic that calls into the
         fgraph infrastructure to find the real return address.
      
       - Remove (un)regfunc pointers out of tracepoint structure
      
       - Added last minute bug fix for setting pending modules in stack
         function filter.
      
           echo "write*:mod:ext3" > /sys/kernel/tracing/stack_trace_filter
      
         Would cause a kernel NULL dereference.
      
       - Minor clean ups
      
      * tag 'trace-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (31 commits)
        ftrace: Fix regression with module command in stack_trace_filter
        tracing: Fix function name for trampoline
        ftrace: Get the true parent ip for function tracer
        tracing: Remove redundant check on field->field in histograms
        bpf: ensure RCU Tasks Trace GP for sleepable raw tracepoint BPF links
        bpf: decouple BPF link/attach hook and BPF program sleepable semantics
        bpf: put bpf_link's program when link is safe to be deallocated
        tracing: Replace strncpy() with strscpy() when copying comm
        tracing: Add might_fault() check in __DECLARE_TRACE_SYSCALL
        tracing: Fix syscall tracepoint use-after-free
        tracing: Introduce tracepoint_is_faultable()
        tracing: Introduce tracepoint extended structure
        tracing: Remove TRACE_FLAG_IRQS_NOSUPPORT
        tracing: Replace multiple deprecated strncpy with memcpy
        tracing: Make percpu stack trace buffer invariant to PAGE_SIZE
        tracing: Use atomic64_inc_return() in trace_clock_counter()
        trace/trace_event_perf: remove duplicate samples on the first tracepoint event
        tracing/bpf: Add might_fault check to syscall probes
        tracing/perf: Add might_fault check to syscall probes
        tracing/ftrace: Add might_fault check to syscall probes
        ...
      06afb0f3
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 4b017123
      Linus Torvalds authored
      Pull tracing tools updates from Steven Rostedt:
      
       - Add ':' to getopt option 'trace-buffer-size' in timerlat_hist for
         consistency
      
       - Remove unused sched_getattr define
      
       - Rename sched_setattr() helper to syscall_sched_setattr() to avoid
         conflicts
      
       - Update counters to long from int to avoid overflow
      
       - Add libcpupower dependency detection
      
       - Add --deepest-idle-state to timerlat to limit deep idle sleeps
      
       - Other minor clean ups and documentation changes
      
      * tag 'trace-tools-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        verification/dot2: Improve dot parser robustness
        tools/rtla: Improve exception handling in timerlat_load.py
        tools/rtla: Enhance argument parsing in timerlat_load.py
        tools/rtla: Improve code readability in timerlat_load.py
        rtla/timerlat: Do not set params->user_workload with -U
        rtla: Documentation: Mention --deepest-idle-state
        rtla/timerlat: Add --deepest-idle-state for hist
        rtla/timerlat: Add --deepest-idle-state for top
        rtla/utils: Add idle state disabling via libcpupower
        rtla: Add optional dependency on libcpupower
        tools/build: Add libcpupower dependency detection
        rtla/timerlat: Make timerlat_hist_cpu->*_count unsigned long long
        rtla/timerlat: Make timerlat_top_cpu->*_count unsigned long long
        tools/rtla: fix collision with glibc sched_attr/sched_set_attr
        tools/rtla: drop __NR_sched_getattr
        rtla: Fix consistency in getopt_long for timerlat_hist
        rv: Fix a typo
        tools/rv: Correct the grammatical errors in the comments
        tools/rv: Correct the grammatical errors in the comments
        rtla: use the definition for stdout fd when calling isatty()
      4b017123
    • Linus Torvalds's avatar
      Merge tag 'trace-ring-buffer-v6.13' of... · f1db8258
      Linus Torvalds authored
      Merge tag 'trace-ring-buffer-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull trace ring-buffer updates from Steven Rostedt:
      
       - Limit time interrupts are disabled in rb_check_pages()
      
         rb_check_pages() is called after the ring buffer size is updated to
         make sure that the ring buffer has not been corrupted. Commit
         c2274b90 ("ring-buffer: Fix a race between readers and resize
         checks") fixed a race with the check pages and simultaneous resizes
         to the ring buffer by adding a raw_spin_lock_irqsave() around the
         check operation. Although this was a simple fix, it would hold
         interrupts disabled for non determinative amount of time. This could
         harm PREEMPT_RT operations.
      
         Instead, modify the logic by adding a counter when the buffer is
         modified and to release the raw_spin_lock() at each iteration. It
         checks the counter under the lock to see if a modification happened
         during the loop, and if it did, it would restart the loop up to 3
         times. After 3 times, it will simply exit the check, as it is
         unlikely that would ever happen as buffer resizes are rare
         occurrences.
      
       - Replace some open coded str_low_high() with the helper
      
       - Fix some documentation/comments
      
      * tag 'trace-ring-buffer-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Correct a grammatical error in a comment
        ring-buffer: Use str_low_high() helper in ring_buffer_producer()
        ring-buffer: Reorganize kerneldoc parameter names
        ring-buffer: Limit time with disabled interrupts in rb_check_pages()
      f1db8258
    • Linus Torvalds's avatar
      Merge tag 'x86_tdx_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · be420222
      Linus Torvalds authored
      Pull tdx updates from Dave Hansen:
       "These essentially refine some interactions between TDX guests and
        VMMs.
      
        The first leverages a new TDX module feature to runtime disable the
        ability for a VM to inject #VE exceptions. Before this feature, there
        was only a static on/off switch and the guest had to panic if it was
        configured in a bad state.
      
        The second lets the guest opt in to be able to access the topology
        CPUID leaves. Before this, accesses to those leaves would #VE.
      
        For both of these, it would have been nicest to just change the
        default behavior, but some pesky "other" OSes evidently need to retain
        the legacy behavior.
      
        Summary:
      
         - Add new infrastructure for reading TDX metadata
      
         - Use the newly-available metadata to:
            - Disable potentially nasty #VE exceptions
            - Get more complete CPU topology information from the VMM"
      
      * tag 'x86_tdx_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tdx: Enable CPU topology enumeration
        x86/tdx: Dynamically disable SEPT violations from causing #VEs
        x86/tdx: Rename tdx_parse_tdinfo() to tdx_setup()
        x86/tdx: Introduce wrappers to read and write TD metadata
      be420222
    • Linus Torvalds's avatar
      Merge tag 'x86_misc_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5af5d43f
      Linus Torvalds authored
      Pull misc x86 updates from Dave Hansen:
       "As usual for this branch, these are super random: a compile fix for
        some newish LLVM checks and making sure a Kconfig text reference to
        'RSB' matches the normal definition:
      
         - Rework some CPU setup code to keep LLVM happy on 32-bit
      
         - Correct RSB terminology in Kconfig text"
      
      * tag 'x86_misc_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Make sure flag_is_changeable_p() is always being used
        x86/bugs: Correct RSB terminology in Kconfig
      5af5d43f
    • Linus Torvalds's avatar
      Merge tag 'x86_sgx_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · be9318cd
      Linus Torvalds authored
      Pull sgx update from Dave Hansen:
      
       - Use vmalloc_array() instead of vmalloc()
      
      * tag 'x86_sgx_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sgx: Use vmalloc_array() instead of vmalloc()
      be9318cd
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 563cb0b1
      Linus Torvalds authored
      Pull cxl updates from Dave Jiang:
      
       - Constify range_contains() input parameters to prevent changes
      
       - Add support for displaying RCD capabilities in sysfs to support lspci
         for CXL device
      
       - Downgrade warning message to debug in cxl_probe_component_regs()
      
       - Add support for adding a printf specifier '%pra' to emit 'struct
         range' content:
           - Add sanity tests for 'struct resource'
           - Add documentation for special case
           - Add %pra for 'struct range'
           - Add %pra usage in CXL code
      
       - Add preparation code for DCD support:
           - Add range_overlaps()
           - Add CDAT DSMAS table shared and read only flag in ACPICA
           - Add documentation to 'struct dev_dax_range'
           - Delay event buffer allocation in CXL PCI code until needed
           - Use guard() in cxl_dpa_set_mode()
           - Refactor create region code to consolidate common code
      
      * tag 'cxl-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
        cxl/region: Refactor common create region code
        cxl/hdm: Use guard() in cxl_dpa_set_mode()
        cxl/pci: Delay event buffer allocation
        dax: Document struct dev_dax_range
        ACPI/CDAT: Add CDAT/DSMAS shared and read only flag values
        range: Add range_overlaps()
        cxl/cdat: Use %pra for dpa range outputs
        printf: Add print format (%pra) for struct range
        Documentation/printf: struct resource add start == end special case
        test printf: Add very basic struct resource tests
        cxl: downgrade a warning message to debug level in cxl_probe_component_regs()
        cxl/pci: Add sysfs attribute for CXL 1.1 device link status
        cxl/core/regs: Add rcd_pcie_cap initialization
        kernel/range: Const-ify range_contains parameters
      563cb0b1
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · f3e66e78
      Rafael J. Wysocki authored
      Merge additional cpuidle changes for 6.13-rc1:
      
       - Make cpuidle_play_dead() try all idle states with :enter_dead()
         callbacks and change their return type to void (Rafael Wysocki).
      
      * pm-cpuidle:
        cpuidle: Change :enter_dead() driver callback return type to void
        cpuidle: Do not return from cpuidle_play_dead() on callback failures
      f3e66e78
  6. Nov 21, 2024
    • Rob Herring (Arm)'s avatar
      tpm: atmel: Drop PPC64 specific MMIO setup · 5578b434
      Rob Herring (Arm) authored
      
      The PPC64 specific MMIO setup open codes DT address functions rather
      than using standard address parsing functions. The open-coded version
      fails to handle any address translation and is not endian safe.
      
      I haven't found any evidence of what platform used this. The only thing
      that turned up was a PPC405 platform, but that is 32-bit and PPC405
      support is being removed as well. CONFIG_TCG_ATMEL is not enabled for
      any powerpc config and never was. The support was added in 2005 and
      hasn't been touched since.
      
      Rather than try to modernize and fix this code, just remove it.
      
      [jarkko: fixed couple of style issues reported by checkpatch.pl --strict
       and put offset into parentheses in the macro declarations.]
      Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      5578b434
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2024-11-21' of https://gitlab.freedesktop.org/drm/kernel · 28eb75e1
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "There's a lot of rework, the panic helper support is being added to
        more drivers, v3d gets support for HW superpages, scheduler
        documentation, drm client and video aperture reworks, some new
        MAINTAINERS added, amdgpu has the usual lots of IP refactors, Intel
        has some Pantherlake enablement and xe is getting some SRIOV bits, but
        just lots of stuff everywhere.
      
        core:
         - split DSC helpers from DP helpers
         - clang build fixes for drm/mm test
         - drop simple pipeline support for gem vram
         - document submission error signaling
         - move drm_rect to drm core module from kms helper
         - add default client setup to most drivers
         - move to video aperture helpers instead of drm ones
      
        tests:
         - new framebuffer tests
      
        ttm:
         - remove swapped and pinned BOs from TTM lru
      
        panic:
         - fix uninit spinlock
         - add ABGR2101010 support
      
        bridge:
         - add TI TDP158 support
         - use standard PM OPS
      
        dma-fence:
         - use read_trylock instead of read_lock to help lockdep
      
        scheduler:
         - add errno to sched start to report different errors
         - add locking to drm_sched_entity_modify_sched
         - improve documentation
      
        xe:
         - add drm_line_printer
         - lots of refactoring
         - Enable Xe2 + PES disaggregation
         - add new ARL PCI ID
         - SRIOV development work
         - fix exec unnecessary implicit fence
         - define and parse OA sync props
         - forcewake refactoring
      
        i915:
         - Enable BMG/LNL ultra joiner
         - Enable 10bpx + CCS scanout on ICL+, fp16/CCS on TGL+
         - use DSB for plane/color mgmt
         - Arrow lake PCI IDs
         - lots of i915/xe display refactoring
         - enable PXP GuC autoteardown
         - Pantherlake (PTL) Xe3 LPD display enablement
         - Allow fastset HDR infoframe changes
         - write DP source OUI for non-eDP sinks
         - share PCI IDs between i915 and xe
      
        amdgpu:
         - SDMA queue reset support
         - SMU 13.0.6, JPEG 4.0.3 updates
         - Initial runtime repartitioning support
         - rework IP structs for multiple IP instances
         - Fetch EDID from _DDC if available
         - SMU13 zero rpm user control
         - lots of fixes/cleanups
      
        amdkfd:
         - Increase event FIFO size
         - add topology cap flag for per queue reset
      
        msm:
         - DPU:
            - SA8775P support
            - (disabled by default) MSM8917, MSM8937, MSM8953 and MSM8996 support
            - Enable large framebuffer support
            - Drop MSM8998 and SDM845
         - DP:
            - SA8775P support
         - GPU:
            - a7xx preemption support
            - Adreno A663 support
      
        ast:
         - warn about unsupported TX chips
      
        ivpu:
         - add coredump
         - add pantherlake support
      
        rockchip:
         - 4K@60Hz display enablement
         - generate pll programming tables
      
        panthor:
         - add timestamp query API
         - add realtime group priority
         - add fdinfo support
      
        etnaviv:
         - improve handling of DMA address limits
         - improve GPU hangcheck
      
        exynos:
         - Decon Exynos7870 support
      
        mediatek:
         - add OF graph support
      
        omap:
         - locking fixes
      
        bochs:
         - convert to gem/shmem from simpledrm
      
        v3d:
         - support big/super pages
         - add gemfs
      
        vc4:
         - BCM2712 support refactoring
         - add YUV444 format support
      
        udmabuf:
         - folio related fixes
      
        nouveau:
         - add panic support on nv50+"
      
      * tag 'drm-next-2024-11-21' of https://gitlab.freedesktop.org/drm/kernel: (1583 commits)
        drm/xe/guc: Fix dereference before NULL check
        drm/amd: Fix initialization mistake for NBIO 7.7.0
        Revert "drm/amd/display: parse umc_info or vram_info based on ASIC"
        drm/amd/display: Fix failure to read vram info due to static BP_RESULT
        drm/amdgpu: enable GTT fallback handling for dGPUs only
        drm/amd/amdgpu: limit single process inside MES
        drm/fourcc: add AMD_FMT_MOD_TILE_GFX9_4K_D_X
        drm/amdgpu/mes12: correct kiq unmap latency
        drm/amdgpu: Support vcn and jpeg error info parsing
        drm/amd : Update MES API header file for v11 & v12
        drm/amd/amdkfd: add/remove kfd queues on start/stop KFD scheduling
        drm/amdkfd: change kfd process kref count at creation
        drm/amdgpu: Cleanup shift coding style
        drm/amd/amdgpu: Increase MES log buffer to dump mes scratch data
        drm/amdgpu: Implement virt req_ras_err_count
        drm/amdgpu: VF Query RAS Caps from Host if supported
        drm/amdgpu: Add msg handlers for SRIOV RAS Telemetry
        drm/amdgpu: Update SRIOV Exchange Headers for RAS Telemetry Support
        drm/amd/display: 3.2.309
        drm/amd/display: Adjust VSDB parser for replay feature
        ...
      28eb75e1
    • Jett Rink's avatar
      char: tpm: cr50: Add new device/vendor ID 0x50666666 · 2e1827de
      Jett Rink authored
      
      Accept another DID:VID for the next generation Google TPM. This TPM
      has the same Ti50 firmware and fulfills the same interface.
      
      Suggested-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJett Rink <jettrink@chromium.org>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      2e1827de
Loading