1. 24 Mar, 2024 8 commits
  2. 23 Mar, 2024 11 commits
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 70293240
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two regression fixes for the timer and timer migration code:
      
         - Prevent endless timer requeuing which is caused by two CPUs racing
           out of idle. This happens when the last CPU goes idle and therefore
           has to ensure to expire the pending global timers and some other
           CPU come out of idle at the same time and the other CPU wins the
           race and expires the global queue. This causes the last CPU to
           chase ghost timers forever and reprogramming it's clockevent device
           endlessly.
      
           Cure this by re-evaluating the wakeup time unconditionally.
      
         - The split into local (pinned) and global timers in the timer wheel
           caused a regression for NOHZ full as it broke the idle tracking of
           global timers. On NOHZ full this prevents an self IPI being sent
           which in turn causes the timer to be not programmed and not being
           expired on time.
      
           Restore the idle tracking for the global timer base so that the
           self IPI condition for NOHZ full is working correctly again"
      
      * tag 'timers-urgent-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timers: Fix removed self-IPI on global timer's enqueue in nohz_full
        timers/migration: Fix endless timer requeue after idle interrupts
      70293240
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 00164f47
      Linus Torvalds authored
      Pull more clocksource updates from Thomas Gleixner:
       "A set of updates for clocksource and clockevent drivers:
      
         - A fix for the prescaler of the ARM global timer where the prescaler
           mask define only covered 4 bits while it is actully 8 bits wide.
           This obviously restricted the possible range of prescaler
           adjustments
      
         - A fix for the RISC-V timer which prevents a timer interrupt being
           raised while the timer is initialized
      
         - A set of device tree updates to support new system on chips in
           various drivers
      
         - Kernel-doc and other cleanups all over the place"
      
      * tag 'timers-core-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/timer-riscv: Clear timer interrupt on timer initialization
        dt-bindings: timer: Add support for cadence TTC PWM
        clocksource/drivers/arm_global_timer: Simplify prescaler register access
        clocksource/drivers/arm_global_timer: Guard against division by zero
        clocksource/drivers/arm_global_timer: Make gt_target_rate unsigned long
        dt-bindings: timer: add Ralink SoCs system tick counter
        clocksource: arm_global_timer: fix non-kernel-doc comment
        clocksource/drivers/arm_global_timer: Remove stray tab
        clocksource/drivers/arm_global_timer: Fix maximum prescaler value
        clocksource/drivers/imx-sysctr: Add i.MX95 support
        clocksource/drivers/imx-sysctr: Drop use global variables
        dt-bindings: timer: nxp,sysctr-timer: support i.MX95
        dt-bindings: timer: renesas: ostm: Document RZ/Five SoC
        dt-bindings: timer: renesas,tmu: Document input capture interrupt
        clocksource/drivers/ti-32K: Fix misuse of "/**" comment
        clocksource/drivers/stm32: Fix all kernel-doc warnings
        dt-bindings: timer: exynos4210-mct: Add google,gs101-mct compatible
        clocksource/drivers/imx: Fix -Wunused-but-set-variable warning
      00164f47
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a391931
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A series of fixes for the Renesas RZG21 interrupt chip driver to
        prevent spurious and misrouted interrupts.
      
         - Ensure that posted writes are flushed in the eoi() callback
      
         - Ensure that interrupts are masked at the chip level when the
           trigger type is changed
      
         - Clear the interrupt status register when setting up edge type
           trigger modes
      
         - Ensure that the trigger type and routing information is set before
           the interrupt is enabled"
      
      * tag 'irq-urgent-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/renesas-rzg2l: Do not set TIEN and TINT source at the same time
        irqchip/renesas-rzg2l: Prevent spurious interrupts when setting trigger type
        irqchip/renesas-rzg2l: Rename rzg2l_irq_eoi()
        irqchip/renesas-rzg2l: Rename rzg2l_tint_eoi()
        irqchip/renesas-rzg2l: Flush posted write in irq_eoi()
      1a391931
    • Linus Torvalds's avatar
      Merge tag 'core-entry-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 976b029d
      Linus Torvalds authored
      Pull core entry fix from Thomas Gleixner:
       "A single fix for the generic entry code:
      
        The trace_sys_enter() tracepoint can modify the syscall number via
        kprobes or BPF in pt_regs, but that requires that the syscall number
        is re-evaluted from pt_regs after the tracepoint.
      
        A seccomp fix in that area removed the re-evaluation so the change
        does not take effect as the code just uses the locally cached number.
      
        Restore the original behaviour by re-evaluating the syscall number
        after the tracepoint"
      
      * tag 'core-entry-2024-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Respect changes to system call number by trace_sys_enter()
      976b029d
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 484193fe
      Linus Torvalds authored
      Pull more powerpc updates from Michael Ellerman:
      
       - Handle errors in mark_rodata_ro() and mark_initmem_nx()
      
       - Make struct crash_mem available without CONFIG_CRASH_DUMP
      
      Thanks to Christophe Leroy and Hari Bathini.
      
      * tag 'powerpc-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/kdump: Split KEXEC_CORE and CRASH_DUMP dependency
        powerpc/kexec: split CONFIG_KEXEC_FILE and CONFIG_CRASH_DUMP
        kexec/kdump: make struct crash_mem available without CONFIG_CRASH_DUMP
        powerpc: Handle error in mark_rodata_ro() and mark_initmem_nx()
      484193fe
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 02fb638b
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - remove a misuse of kernel-doc comment
      
       - use "Call trace:" for backtraces like other architectures
      
       - implement copy_from_kernel_nofault_allowed() to fix a LKDTM test
      
       - add a "cut here" line for prefetch aborts
      
       - remove unnecessary Kconfing entry for FRAME_POINTER
      
       - remove iwmmxy support for PJ4/PJ4B cores
      
       - use bitfield helpers in ptrace to improve readabililty
      
       - check if folio is reserved before flushing
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9359/1: flush: check if the folio is reserved for no-mapping addresses
        ARM: 9354/1: ptrace: Use bitfield helpers
        ARM: 9352/1: iwmmxt: Remove support for PJ4/PJ4B cores
        ARM: 9353/1: remove unneeded entry for CONFIG_FRAME_POINTER
        ARM: 9351/1: fault: Add "cut here" line for prefetch aborts
        ARM: 9350/1: fault: Implement copy_from_kernel_nofault_allowed()
        ARM: 9349/1: unwind: Add missing "Call trace:" line
        ARM: 9334/1: mm: init: remove misuse of kernel-doc comment
      02fb638b
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.9-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b7187139
      Linus Torvalds authored
      Pull more hardening updates from Kees Cook:
      
       - CONFIG_MEMCPY_SLOW_KUNIT_TEST is no longer needed (Guenter Roeck)
      
       - Fix needless UTF-8 character in arch/Kconfig (Liu Song)
      
       - Improve __counted_by warning message in LKDTM (Nathan Chancellor)
      
       - Refactor DEFINE_FLEX() for default use of __counted_by
      
       - Disable signed integer overflow sanitizer on GCC < 8
      
      * tag 'hardening-v6.9-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        lkdtm/bugs: Improve warning message for compilers without counted_by support
        overflow: Change DEFINE_FLEX to take __counted_by member
        Revert "kunit: memcpy: Split slow memcpy tests into MEMCPY_SLOW_KUNIT_TEST"
        arch/Kconfig: eliminate needless UTF-8 character in Kconfig help
        ubsan: Disable signed integer overflow sanitizer on GCC < 8
      b7187139
    • Thomas Gleixner's avatar
      x86/mpparse: Register APIC address only once · f2208aa1
      Thomas Gleixner authored
      The APIC address is registered twice. First during the early detection and
      afterwards when actually scanning the table for APIC IDs. The APIC and
      topology core warn about the second attempt.
      
      Restrict it to the early detection call.
      
      Fixes: 81287ad6 ("x86/apic: Sanitize APIC address setup")
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Link: https://lore.kernel.org/r/20240322185305.297774848@linutronix.de
      f2208aa1
    • Thomas Gleixner's avatar
      x86/topology: Handle the !APIC case gracefully · 5e25eb25
      Thomas Gleixner authored
      If there is no local APIC enumerated and registered then the topology
      bitmaps are empty. Therefore, topology_init_possible_cpus() will die with
      a division by zero exception.
      
      Prevent this by registering a fake APIC id to populate the topology
      bitmap. This also allows to use all topology query interfaces
      unconditionally. It does not affect the actual APIC code because either
      the local APIC address was not registered or no local APIC could be
      detected.
      
      Fixes: f1f758a8 ("x86/topology: Add a mechanism to track topology via APIC IDs")
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Link: https://lore.kernel.org/r/20240322185305.242709302@linutronix.de
      5e25eb25
    • Thomas Gleixner's avatar
      x86/topology: Don't evaluate logical IDs during early boot · 7af541ce
      Thomas Gleixner authored
      The local APICs have not yet been enumerated so the logical ID evaluation
      from the topology bitmaps does not work and would return an error code.
      
      Skip the evaluation during the early boot CPUID evaluation and only apply
      it on the final run.
      
      Fixes: 380414be ("x86/cpu/topology: Use topology logical mapping mechanism")
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Link: https://lore.kernel.org/r/20240322185305.186943142@linutronix.de
      7af541ce
    • Thomas Gleixner's avatar
      x86/cpu: Ensure that CPU info updates are propagated on UP · c90399fb
      Thomas Gleixner authored
      The boot sequence evaluates CPUID information twice:
      
        1) During early boot
      
        2) When finalizing the early setup right before
           mitigations are selected and alternatives are patched.
      
      In both cases the evaluation is stored in boot_cpu_data, but on UP the
      copying of boot_cpu_data to the per CPU info of the boot CPU happens
      between #1 and #2. So any update which happens in #2 is never propagated to
      the per CPU info instance.
      
      Consolidate the whole logic and copy boot_cpu_data right before applying
      alternatives as that's the point where boot_cpu_data is in it's final
      state and not supposed to change anymore.
      
      This also removes the voodoo mb() from smp_prepare_cpus_common() which
      had absolutely no purpose.
      
      Fixes: 71eb4893 ("x86/percpu: Cure per CPU madness on UP")
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Link: https://lore.kernel.org/r/20240322185305.127642785@linutronix.de
      c90399fb
  3. 22 Mar, 2024 21 commits
    • Nathan Chancellor's avatar
      lkdtm/bugs: Improve warning message for compilers without counted_by support · 231dc3f0
      Nathan Chancellor authored
      The current message for telling the user that their compiler does not
      support the counted_by attribute in the FAM_BOUNDS test does not make
      much sense either grammatically or semantically. Fix it to make it
      correct in both aspects.
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Reviewed-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/20240321-lkdtm-improve-lack-of-counted_by-msg-v1-1-0fbf7481a29c@kernel.orgSigned-off-by: default avatarKees Cook <keescook@chromium.org>
      231dc3f0
    • Kees Cook's avatar
      overflow: Change DEFINE_FLEX to take __counted_by member · d8e45f29
      Kees Cook authored
      The norm should be flexible array structures with __counted_by
      annotations, so DEFINE_FLEX() is updated to expect that. Rename
      the non-annotated version to DEFINE_RAW_FLEX(), and update the
      few existing users. Additionally add selftests for the macros.
      Reviewed-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/20240306235128.it.933-kees@kernel.orgReviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      d8e45f29
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · bfa8f186
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "The vfs has long had a write lifetime hint mechanism that gives the
        expected longevity on storage of the data being written. f2fs was the
        original consumer of this and used the hint for flash data placement
        (mostly to avoid write amplification by placing objects with similar
        lifetimes in the same erase block).
      
        More recently the SCSI based UFS (Universal Flash Storage) drivers
        have wanted to take advantage of this as well, for the same reasons as
        f2fs, necessitating plumbing the write hints through the block layer
        and then adding it to the SCSI core.
      
        The vfs write_hints already taken plumbs this as far as block and this
        completes the SCSI core enabling based on a recently agreed reuse of
        the old write command group number. The additions to the scsi_debug
        driver are for emulating this property so we can run tests on it in
        the absence of an actual UFS device"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: scsi_debug: Maintain write statistics per group number
        scsi: scsi_debug: Implement GET STREAM STATUS
        scsi: scsi_debug: Implement the IO Advice Hints Grouping mode page
        scsi: scsi_debug: Allocate the MODE SENSE response from the heap
        scsi: scsi_debug: Rework subpage code error handling
        scsi: scsi_debug: Rework page code error handling
        scsi: scsi_debug: Support the block limits extension VPD page
        scsi: scsi_debug: Reduce code duplication
        scsi: sd: Translate data lifetime information
        scsi: scsi_proto: Add structures and constants related to I/O groups and streams
        scsi: core: Query the Block Limits Extension VPD page
      bfa8f186
    • Linus Torvalds's avatar
      Merge tag 'block-6.9-20240322' of git://git.kernel.dk/linux · e3111d9c
      Linus Torvalds authored
      Pull more block updates from Jens Axboe:
      
       - NVMe pull request via Keith:
           - Make an informative message less ominous (Keith)
           - Enhanced trace decoding (Guixin)
           - TCP updates (Hannes, Li)
           - Fabrics connect deadlock fix (Chunguang)
           - Platform API migration update (Uwe)
           - A new device quirk (Jiawei)
      
       - Remove dead assignment in fd (Yufeng)
      
      * tag 'block-6.9-20240322' of git://git.kernel.dk/linux:
        nvmet-rdma: remove NVMET_RDMA_REQ_INVALIDATE_RKEY flag
        nvme: remove redundant BUILD_BUG_ON check
        floppy: remove duplicated code in redo_fd_request()
        nvme/tcp: Add wq_unbound modparam for nvme_tcp_wq
        nvme-tcp: Export the nvme_tcp_wq to sysfs
        drivers/nvme: Add quirks for device 126f:2262
        nvme: parse format command's lbafu when tracing
        nvme: add tracing of reservation commands
        nvme: parse zns command's zsa and zrasf to string
        nvme: use nvme_disk_is_ns_head helper
        nvme: fix reconnection fail due to reserved tag allocation
        nvmet: add tracing of zns commands
        nvmet: add tracing of authentication commands
        nvme-apple: Convert to platform remove callback returning void
        nvmet-tcp: do not continue for invalid icreq
        nvme: change shutdown timeout setting message
      e3111d9c
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.9-20240322' of git://git.kernel.dk/linux · 19dba097
      Linus Torvalds authored
      Pull more io_uring updates from Jens Axboe:
       "One patch just missed the initial pull, the rest are either fixes or
        small cleanups that make our life easier for the next kernel:
      
         - Fix a potential leak in error handling of pinned pages, and clean
           it up (Gabriel, Pavel)
      
         - Fix an issue with how read multishot returns retry (me)
      
         - Fix a problem with waitid/futex removals, if we hit the case of
           needing to remove all of them at exit time (me)
      
         - Fix for a regression introduced in this merge window, where we
           don't always have sr->done_io initialized if the ->prep_async()
           path is used (me)
      
         - Fix for SQPOLL setup error handling (me)
      
         - Fix for a poll removal request being delayed (Pavel)
      
         - Rename of a struct member which had a confusing name (Pavel)"
      
      * tag 'io_uring-6.9-20240322' of git://git.kernel.dk/linux:
        io_uring/sqpoll: early exit thread if task_context wasn't allocated
        io_uring: clear opcode specific data for an early failure
        io_uring/net: ensure async prep handlers always initialize ->done_io
        io_uring/waitid: always remove waitid entry for cancel all
        io_uring/futex: always remove futex entry for cancel all
        io_uring: fix poll_remove stalled req completion
        io_uring: Fix release of pinned pages when __io_uaddr_map fails
        io_uring/kbuf: rename is_mapped
        io_uring: simplify io_pages_free
        io_uring: clean rings on NO_MMAP alloc fail
        io_uring/rw: return IOU_ISSUE_SKIP_COMPLETE for multishot retry
        io_uring: don't save/restore iowait state
      19dba097
    • Linus Torvalds's avatar
      Merge tag 'for-6.9/dm-fixes' of... · 64f799ff
      Linus Torvalds authored
      Merge tag 'for-6.9/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix a memory leak in DM integrity recheck code that was added during
         the 6.9 merge. Also fix the recheck code to ensure it issues bios
         with proper alignment.
      
       - Fix DM snapshot's dm_exception_table_exit() to schedule while
         handling an large exception table during snapshot device shutdown.
      
      * tag 'for-6.9/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm-integrity: align the outgoing bio in integrity_recheck
        dm snapshot: fix lockup in dm_exception_table_exit
        dm-integrity: fix a memory leak when rechecking the data
      64f799ff
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.9-rc1' of https://github.com/ceph/ceph-client · ff9c18e4
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "A patch to minimize blockage when processing very large batches of
        dirty caps and two fixes to better handle EOF in the face of multiple
        clients performing reads and size-extending writes at the same time"
      
      * tag 'ceph-for-6.9-rc1' of https://github.com/ceph/ceph-client:
        ceph: set correct cap mask for getattr request for read
        ceph: stop copying to iter at EOF on sync reads
        ceph: remove SLAB_MEM_SPREAD flag usage
        ceph: break the check delayed cap loop every 5s
      ff9c18e4
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.9-merge-9' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 6f6efce5
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Fix invalid pointer dereference by initializing xmbuf before
         tracepoint function is invoked
      
       - Use memalloc_nofs_save() when inserting into quota radix tree
      
      * tag 'xfs-6.9-merge-9' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: quota radix tree allocations need to be NOFS on insert
        xfs: fix dev_t usage in xmbuf tracepoints
      6f6efce5
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.9-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · c150b809
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for various vector-accelerated crypto routines
      
       - Hibernation is now enabled for portable kernel builds
      
       - mmap_rnd_bits_max is larger on systems with larger VAs
      
       - Support for fast GUP
      
       - Support for membarrier-based instruction cache synchronization
      
       - Support for the Andes hart-level interrupt controller and PMU
      
       - Some cleanups around unaligned access speed probing and Kconfig
         settings
      
       - Support for ACPI LPI and CPPC
      
       - Various cleanus related to barriers
      
       - A handful of fixes
      
      * tag 'riscv-for-linus-6.9-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (66 commits)
        riscv: Fix syscall wrapper for >word-size arguments
        crypto: riscv - add vector crypto accelerated AES-CBC-CTS
        crypto: riscv - parallelize AES-CBC decryption
        riscv: Only flush the mm icache when setting an exec pte
        riscv: Use kcalloc() instead of kzalloc()
        riscv/barrier: Add missing space after ','
        riscv/barrier: Consolidate fence definitions
        riscv/barrier: Define RISCV_FULL_BARRIER
        riscv/barrier: Define __{mb,rmb,wmb}
        RISC-V: defconfig: Enable CONFIG_ACPI_CPPC_CPUFREQ
        cpufreq: Move CPPC configs to common Kconfig and add RISC-V
        ACPI: RISC-V: Add CPPC driver
        ACPI: Enable ACPI_PROCESSOR for RISC-V
        ACPI: RISC-V: Add LPI driver
        cpuidle: RISC-V: Move few functions to arch/riscv
        riscv: Introduce set_compat_task() in asm/compat.h
        riscv: Introduce is_compat_thread() into compat.h
        riscv: add compile-time test into is_compat_task()
        riscv: Replace direct thread flag check with is_compat_task()
        riscv: Improve arch_get_mmap_end() macro
        ...
      c150b809
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.9' of... · 1e3cd03c
      Linus Torvalds authored
      Merge tag 'loongarch-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - Add objtool support for LoongArch
      
       - Add ORC stack unwinder support for LoongArch
      
       - Add kernel livepatching support for LoongArch
      
       - Select ARCH_HAS_CURRENT_STACK_POINTER in Kconfig
      
       - Select HAVE_ARCH_USERFAULTFD_MINOR in Kconfig
      
       - Some bug fixes and other small changes
      
      * tag 'loongarch-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch/crypto: Clean up useless assignment operations
        LoongArch: Define the __io_aw() hook as mmiowb()
        LoongArch: Remove superfluous flush_dcache_page() definition
        LoongArch: Move {dmw,tlb}_virt_to_page() definition to page.h
        LoongArch: Change __my_cpu_offset definition to avoid mis-optimization
        LoongArch: Select HAVE_ARCH_USERFAULTFD_MINOR in Kconfig
        LoongArch: Select ARCH_HAS_CURRENT_STACK_POINTER in Kconfig
        LoongArch: Add kernel livepatching support
        LoongArch: Add ORC stack unwinder support
        objtool: Check local label in read_unwind_hints()
        objtool: Check local label in add_dead_ends()
        objtool/LoongArch: Enable orc to be built
        objtool/x86: Separate arch-specific and generic parts
        objtool/LoongArch: Implement instruction decoder
        objtool/LoongArch: Enable objtool to be built
      1e3cd03c
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 4f55aa85
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
      
       - Allow console fonts up to 64x128 pixels (Samuel Thibault)
      
       - Prevent division-by-zero in fb monitor code (Roman Smirnov)
      
       - Drop Renesas ARM platforms from Mobile LCDC framebuffer driver (Geert
         Uytterhoeven)
      
       - Various code cleanups in viafb, uveafb and mb862xxfb drivers by
         Aleksandr Burakov, Li Zhijian and Michael Ellerman
      
      * tag 'fbdev-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: panel-tpo-td043mtea1: Convert sprintf() to sysfs_emit()
        fbmon: prevent division by zero in fb_videomode_from_videomode()
        fbcon: Increase maximum font width x height to 64 x 128
        fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2
        fbdev: mb862xxfb: Fix defined but not used error
        fbdev: uvesafb: Convert sprintf/snprintf to sysfs_emit
        fbdev: Restrict FB_SH_MOBILE_LCDC to SuperH
      4f55aa85
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 4073195a
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A small collection of fixes that came in since the merge window. Most
        of it is relatively minor driver specific fixes, there's also fixes
        for error handling with SPI flash devices and a fix restoring delay
        control functionality for non-GPIO chip selects managed by the core"
      
      * tag 'spi-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: spi-mt65xx: Fix NULL pointer access in interrupt handler
        spi: docs: spidev: fix echo command format
        spi: spi-imx: fix off-by-one in mx51 CPU mode burst length
        spi: lm70llp: fix links in doc and comments
        spi: Fix error code checking in spi_mem_exec_op()
        spi: Restore delays for non-GPIO chip select
        spi: lpspi: Avoid potential use-after-free in probe()
      4073195a
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v6.9-merge-window' of... · 8c826bd9
      Linus Torvalds authored
      Merge tag 'regulator-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fix from Mark Brown:
       "One fix that came in during the merge window, fixing a problem with
        bootstrapping the state of exclusive regulators which have a parent
        regulator"
      
      * tag 'regulator-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: core: Propagate the regulator state in case of exclusive get
      8c826bd9
    • Linus Torvalds's avatar
      Merge tag 'sound-fix2-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6b571e26
      Linus Torvalds authored
      Pull more sound fixes from Takashi Iwai:
       "The remaining fixes for 6.9-rc1 that have been gathered in this week.
      
        More about ASoC at this time (one long-standing fix for compress
        offload, SOF, AMD ACP, Rockchip, Cirrus and tlv320 stuff) while
        another regression fix in ALSA core and a couple of HD-audio quirks as
        usual are included"
      
      * tag 'sound-fix2-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: control: Fix unannotated kfree() cleanup
        ALSA: hda/realtek: Add quirks for some Clevo laptops
        ALSA: hda/realtek: Add quirk for HP Spectre x360 14 eu0000
        ALSA: hda/realtek: fix the hp playback volume issue for LG machines
        ASoC: soc-compress: Fix and add DPCM locking
        ASoC: SOF: amd: Skip IRAM/DRAM size modification for Steam Deck OLED
        ASoC: SOF: amd: Move signed_fw_image to struct acp_quirk_entry
        ASoC: amd: yc: Revert "add new YC platform variant (0x63) support"
        ASoC: amd: yc: Revert "Fix non-functional mic on Lenovo 21J2"
        ASoC: soc-core.c: Skip dummy codec when adding platforms
        ASoC: rockchip: i2s-tdm: Fix inaccurate sampling rates
        ASoC: dt-bindings: cirrus,cs42l43: Fix 'gpio-ranges' schema
        ASoC: amd: yc: Fix non-functional mic on ASUS M7600RE
        ASoC: tlv320adc3xxx: Don't strip remove function when driver is builtin
      6b571e26
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.9-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 5ee2433f
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
       "Some more I2C updates after the dependencies have been merged now.
      
        Plus a DT binding fix"
      
      * tag 'i2c-for-6.9-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        dt-bindings: i2c: qcom,i2c-cci: Fix OV7251 'data-lanes' entries
        i2c: muxes: pca954x: Allow sharing reset GPIO
        i2c: nomadik: sort includes
        i2c: nomadik: support Mobileye EyeQ5 I2C controller
        i2c: nomadik: fetch i2c-transfer-timeout-us property from devicetree
        i2c: nomadik: replace jiffies by ktime for FIFO flushing timeout
        i2c: nomadik: support short xfer timeouts using waitqueue & hrtimer
        i2c: nomadik: use bitops helpers
        i2c: nomadik: simplify IRQ masking logic
        i2c: nomadik: rename private struct pointers from dev to priv
        dt-bindings: i2c: nomadik: add mobileye,eyeq5-i2c bindings and example
      5ee2433f
    • Masami Hiramatsu (Google)'s avatar
      kprobes/x86: Use copy_from_kernel_nofault() to read from unsafe address · 4e51653d
      Masami Hiramatsu (Google) authored
      Read from an unsafe address with copy_from_kernel_nofault() in
      arch_adjust_kprobe_addr() because this function is used before checking
      the address is in text or not. Syzcaller bot found a bug and reported
      the case if user specifies inaccessible data area,
      arch_adjust_kprobe_addr() will cause a kernel panic.
      
      [ mingo: Clarified the comment. ]
      
      Fixes: cc66bb91 ("x86/ibt,kprobes: Cure sym+0 equals fentry woes")
      Reported-by: default avatarQiang Zhang <zzqq0103.hey@gmail.com>
      Tested-by: default avatarJinghao Jia <jinghao7@illinois.edu>
      Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/171042945004.154897.2221804961882915806.stgit@devnote2
      4e51653d
    • Anton Altaparmakov's avatar
      x86/pm: Work around false positive kmemleak report in msr_build_context() · e3f269ed
      Anton Altaparmakov authored
      Since:
      
        7ee18d67 ("x86/power: Make restore_processor_context() sane")
      
      kmemleak reports this issue:
      
        unreferenced object 0xf68241e0 (size 32):
          comm "swapper/0", pid 1, jiffies 4294668610 (age 68.432s)
          hex dump (first 32 bytes):
            00 cc cc cc 29 10 01 c0 00 00 00 00 00 00 00 00  ....)...........
            00 42 82 f6 cc cc cc cc cc cc cc cc cc cc cc cc  .B..............
          backtrace:
            [<461c1d50>] __kmem_cache_alloc_node+0x106/0x260
            [<ea65e13b>] __kmalloc+0x54/0x160
            [<c3858cd2>] msr_build_context.constprop.0+0x35/0x100
            [<46635aff>] pm_check_save_msr+0x63/0x80
            [<6b6bb938>] do_one_initcall+0x41/0x1f0
            [<3f3add60>] kernel_init_freeable+0x199/0x1e8
            [<3b538fde>] kernel_init+0x1a/0x110
            [<938ae2b2>] ret_from_fork+0x1c/0x28
      
      Which is a false positive.
      
      Reproducer:
      
        - Run rsync of whole kernel tree (multiple times if needed).
        - start a kmemleak scan
        - Note this is just an example: a lot of our internal tests hit these.
      
      The root cause is similar to the fix in:
      
        b0b592cf x86/pm: Fix false positive kmemleak report in msr_build_context()
      
      ie. the alignment within the packed struct saved_context
      which has everything unaligned as there is only "u16 gs;" at start of
      struct where in the past there were four u16 there thus aligning
      everything afterwards.  The issue is with the fact that Kmemleak only
      searches for pointers that are aligned (see how pointers are scanned in
      kmemleak.c) so when the struct members are not aligned it doesn't see
      them.
      
      Testing:
      
      We run a lot of tests with our CI, and after applying this fix we do not
      see any kmemleak issues any more whilst without it we see hundreds of
      the above report. From a single, simple test run consisting of 416 individual test
      cases on kernel 5.10 x86 with kmemleak enabled we got 20 failures due to this,
      which is quite a lot. With this fix applied we get zero kmemleak related failures.
      
      Fixes: 7ee18d67 ("x86/power: Make restore_processor_context() sane")
      Signed-off-by: default avatarAnton Altaparmakov <anton@tuxera.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Acked-by: default avatar"Rafael J. Wysocki" <rafael@kernel.org>
      Cc: stable@vger.kernel.org
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: https://lore.kernel.org/r/20240314142656.17699-1-anton@tuxera.com
      e3f269ed
    • Dave Young's avatar
      x86/kexec: Do not update E820 kexec table for setup_data · fc7f27cd
      Dave Young authored
      crashkernel reservation failed on a Thinkpad t440s laptop recently.
      Actually the memblock reservation succeeded, but later insert_resource()
      failed.
      
      Test steps:
        kexec load -> /* make sure add crashkernel param eg. crashkernel=160M */
          kexec reboot ->
              dmesg|grep "crashkernel reserved";
                  crashkernel memory range like below reserved successfully:
                    0x00000000d0000000 - 0x00000000da000000
              But no such "Crash kernel" region in /proc/iomem
      
      The background story:
      
      Currently the E820 code reserves setup_data regions for both the current
      kernel and the kexec kernel, and it inserts them into the resources list.
      
      Before the kexec kernel reboots nobody passes the old setup_data, and
      kexec only passes fresh SETUP_EFI/SETUP_IMA/SETUP_RNG_SEED if needed.
      Thus the old setup data memory is not used at all.
      
      Due to old kernel updates the kexec e820 table as well so kexec kernel
      sees them as E820_TYPE_RESERVED_KERN regions, and later the old setup_data
      regions are inserted into resources list in the kexec kernel by
      e820__reserve_resources().
      
      Note, due to no setup_data is passed in for those old regions they are not
      early reserved (by function early_reserve_memory), and the crashkernel
      memblock reservation will just treat them as usable memory and it could
      reserve the crashkernel region which overlaps with the old setup_data
      regions. And just like the bug I noticed here, kdump insert_resource
      failed because e820__reserve_resources has added the overlapped chunks
      in /proc/iomem already.
      
      Finally, looking at the code, the old setup_data regions are not used
      at all as no setup_data is passed in by the kexec boot loader. Although
      something like SETUP_PCI etc could be needed, kexec should pass
      the info as new setup_data so that kexec kernel can take care of them.
      This should be taken care of in other separate patches if needed.
      
      Thus drop the useless buggy code here.
      Signed-off-by: default avatarDave Young <dyoung@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Jiri Bohac <jbohac@suse.cz>
      Cc: Eric DeVolder <eric.devolder@oracle.com>
      Cc: Baoquan He <bhe@redhat.com>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Link: https://lore.kernel.org/r/Zf0T3HCG-790K-pZ@darkstar.users.ipa.redhat.com
      fc7f27cd
    • Linus Torvalds's avatar
      Merge tag '6.9-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 8e938e39
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - Various get_inode_info_fixes
      
       - Fix for querying xattrs of cached dirs
      
       - Four minor cleanup fixes (including adding some header corrections
         and a missing flag)
      
       - Performance improvement for deferred close
      
       - Two query interface fixes
      
      * tag '6.9-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        smb311: additional compression flag defined in updated protocol spec
        smb311: correct incorrect offset field in compression header
        cifs: Move some extern decls from .c files to .h
        cifs: remove redundant variable assignment
        cifs: fixes for get_inode_info
        cifs: open_cached_dir(): add FILE_READ_EA to desired access
        cifs: reduce warning log level for server not advertising interfaces
        cifs: make sure server interfaces are requested only for SMB3+
        cifs: defer close file handles having RH lease
      8e938e39
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2024-03-22' of https://gitlab.freedesktop.org/drm/kernel · 7ee04901
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Fixes from the last week (or 3 weeks in amdgpu case), after amdgpu,
        it's xe and nouveau then a few scattered core fixes.
      
        core:
         - fix rounding in drm_fixp2int_round()
      
        bridge:
         - fix documentation for DRM_BRIDGE_OP_EDID
      
        sun4i:
         - fix 64-bit division on 32-bit architectures
      
        tests:
         - fix dependency on DRM_KMS_HELPER
      
        probe-helper:
         - never return negative values from .get_modes() plus driver fixes
      
        xe:
         - invalidate userptr vma on page pin fault
         - fail early on sysfs file creation error
         - skip VMA pinning on xe_exec if no batches
      
        nouveau:
         - clear bo resource bus after eviction
         - documentation fixes
         - don't check devinit disable on GSP
      
        amdgpu:
         - Freesync fixes
         - UAF IOCTL fixes
         - Fix mmhub client ID mapping
         - IH 7.0 fix
         - DML2 fixes
         - VCN 4.0.6 fix
         - GART bind fix
         - GPU reset fix
         - SR-IOV fix
         - OD table handling fixes
         - Fix TA handling on boards without display hardware
         - DML1 fix
         - ABM fix
         - eDP panel fix
         - DPPCLK fix
         - HDCP fix
         - Revert incorrect error case handling in ioremap
         - VPE fix
         - HDMI fixes
         - SDMA 4.4.2 fix
         - Other misc fixes
      
        amdkfd:
         - Fix duplicate BO handling in process restore"
      
      * tag 'drm-next-2024-03-22' of https://gitlab.freedesktop.org/drm/kernel: (50 commits)
        drm/amdgpu/pm: Don't use OD table on Arcturus
        drm/amdgpu: drop setting buffer funcs in sdma442
        drm/amd/display: Fix noise issue on HDMI AV mute
        drm/amd/display: Revert Remove pixle rate limit for subvp
        Revert "drm/amdgpu/vpe: don't emit cond exec command under collaborate mode"
        Revert "drm/amd/amdgpu: Fix potential ioremap() memory leaks in amdgpu_device_init()"
        drm/amd/display: Add a dc_state NULL check in dc_state_release
        drm/amd/display: Return the correct HDCP error code
        drm/amd/display: Implement wait_for_odm_update_pending_complete
        drm/amd/display: Lock all enabled otg pipes even with no planes
        drm/amd/display: Amend coasting vtotal for replay low hz
        drm/amd/display: Fix idle check for shared firmware state
        drm/amd/display: Update odm when ODM combine is changed on an otg master pipe with no plane
        drm/amd/display: Init DPPCLK from SMU on dcn32
        drm/amd/display: Add monitor patch for specific eDP
        drm/amd/display: Allow dirty rects to be sent to dmub when abm is active
        drm/amd/display: Override min required DCFCLK in dml1_validate
        drm/amdgpu: Bypass display ta if display hw is not available
        drm/amdgpu: correct the KGQ fallback message
        drm/amdgpu/pm: Check the validity of overdiver power limit
        ...
      7ee04901
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.9-2024-03-21' of... · cafd86cb
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.9-2024-03-21' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
      
      amd-drm-fixes-6.9-2024-03-21:
      
      amdgpu:
      - Freesync fixes
      - UAF IOCTL fixes
      - Fix mmhub client ID mapping
      - IH 7.0 fix
      - DML2 fixes
      - VCN 4.0.6 fix
      - GART bind fix
      - GPU reset fix
      - SR-IOV fix
      - OD table handling fixes
      - Fix TA handling on boards without display hardware
      - DML1 fix
      - ABM fix
      - eDP panel fix
      - DPPCLK fix
      - HDCP fix
      - Revert incorrect error case handling in ioremap
      - VPE fix
      - HDMI fixes
      - SDMA 4.4.2 fix
      - Other misc fixes
      
      amdkfd:
      - Fix duplicate BO handling in process restore
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240321220514.1418288-1-alexander.deucher@amd.com
      cafd86cb