Skip to content
Snippets Groups Projects
  1. Mar 09, 2025
    • Linus Torvalds's avatar
      Merge tag 'usb-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 0dc1f314
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB driver fixes for some reported issues. These
        contain:
      
         - typec driver fixes
      
         - dwc3 driver fixes
      
         - xhci driver fixes
      
         - renesas controller fixes
      
         - gadget driver fixes
      
         - a new USB quirk added
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: typec: ucsi: Fix NULL pointer access
        usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader
        usb: xhci: Fix host controllers "dying" after suspend and resume
        usb: dwc3: Set SUSPENDENABLE soon after phy init
        usb: hub: lack of clearing xHC resources
        usb: renesas_usbhs: Flush the notify_hotplug_work
        usb: renesas_usbhs: Use devm_usb_get_phy()
        usb: renesas_usbhs: Call clk_put()
        usb: dwc3: gadget: Prevent irq storm when TH re-executes
        usb: gadget: Check bmAttributes only if configuration is valid
        xhci: Restrict USB4 tunnel detection for USB3 devices to Intel hosts
        usb: xhci: Enable the TRB overfetch quirk on VIA VL805
        usb: gadget: Fix setting self-powered state on suspend
        usb: typec: ucsi: increase timeout for PPM reset operations
        acpi: typec: ucsi: Introduce a ->poll_cci method
        usb: typec: tcpci_rt1711h: Unmask alert interrupts to fix functionality
        usb: gadget: Set self-powered based on MaxPower and bmAttributes
        usb: gadget: u_ether: Set is_suspend flag if remote wakeup fails
        usb: atm: cxacru: fix a flaw in existing endpoint checks
      0dc1f314
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.14-rc6' of... · 51b38f3c
      Linus Torvalds authored
      Merge tag 'driver-core-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fix from Greg KH:
       "Here is a single driver core fix that resolves a reported memory leak.
      
        It's been in linux-next for 2 weeks now with no reported problems"
      
      * tag 'driver-core-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        drivers: core: fix device leak in __fw_devlink_relax_cycles()
      51b38f3c
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 2cc699b3
      Linus Torvalds authored
      Pull char/misc/IIO driver fixes from Greg KH:
       "Here are a number of misc and char and iio driver fixes that have been
        sitting in my tree for way too long. They contain:
      
         - iio driver fixes for reported issues
      
         - regression fix for rtsx_usb card reader
      
         - mei and mhi driver fixes
      
         - small virt driver fixes
      
         - ntsync permissions fix
      
         - other tiny driver fixes for reported problems.
      
        All of these have been in linux-next for quite a while with no
        reported issues"
      
      * tag 'char-misc-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (30 commits)
        Revert "drivers/card_reader/rtsx_usb: Restore interrupt based detection"
        ntsync: Check wait count based on byte size.
        bus: simple-pm-bus: fix forced runtime PM use
        char: misc: deallocate static minor in error path
        eeprom: digsy_mtc: Make GPIO lookup table match the device
        drivers: virt: acrn: hsm: Use kzalloc to avoid info leak in pmcmd_ioctl
        binderfs: fix use-after-free in binder_devices
        slimbus: messaging: Free transaction ID in delayed interrupt scenario
        vbox: add HAS_IOPORT dependency
        cdx: Fix possible UAF error in driver_override_show()
        intel_th: pci: Add Panther Lake-P/U support
        intel_th: pci: Add Panther Lake-H support
        intel_th: pci: Add Arrow Lake support
        intel_th: msu: Fix less trivial kernel-doc warnings
        intel_th: msu: Fix kernel-doc warnings
        MAINTAINERS: change maintainer for FSI
        ntsync: Set the permissions to be 0666
        bus: mhi: host: pci_generic: Use pci_try_reset_function() to avoid deadlock
        mei: vsc: Use "wakeuphostint" when getting the host wakeup GPIO
        mei: me: add panther lake P DID
        ...
      2cc699b3
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · a382b06d
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "arm64:
      
         - Fix a couple of bugs affecting pKVM's PSCI relay implementation
           when running in the hVHE mode, resulting in the host being entered
           with the MMU in an unknown state, and EL2 being in the wrong mode
      
        x86:
      
         - Set RFLAGS.IF in C code on SVM to get VMRUN out of the STI shadow
      
         - Ensure DEBUGCTL is context switched on AMD to avoid running the
           guest with the host's value, which can lead to unexpected bus lock
           #DBs
      
         - Suppress DEBUGCTL.BTF on AMD (to match Intel), as KVM doesn't
           properly emulate BTF. KVM's lack of context switching has meant BTF
           has always been broken to some extent
      
         - Always save DR masks for SNP vCPUs if DebugSwap is *supported*, as
           the guest can enable DebugSwap without KVM's knowledge
      
         - Fix a bug in mmu_stress_tests where a vCPU could finish the "writes
           to RO memory" phase without actually generating a write-protection
       ...
      a382b06d
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-fixes-6.14-rcN.2' of https://github.com/kvm-x86/linux into HEAD · ea9bd29a
      Paolo Bonzini authored
      KVM x86 fixes for 6.14-rcN #2
      
       - Set RFLAGS.IF in C code on SVM to get VMRUN out of the STI shadow.
      
       - Ensure DEBUGCTL is context switched on AMD to avoid running the guest with
         the host's value, which can lead to unexpected bus lock #DBs.
      
       - Suppress DEBUGCTL.BTF on AMD (to match Intel), as KVM doesn't properly
         emulate BTF.  KVM's lack of context switching has meant BTF has always been
         broken to some extent.
      
       - Always save DR masks for SNP vCPUs if DebugSwap is *supported*, as the guest
         can enable DebugSwap without KVM's knowledge.
      
       - Fix a bug in mmu_stress_tests where a vCPU could finish the "writes to RO
         memory" phase without actually generating a write-protection fault.
      
       - Fix a printf() goof in the SEV smoke test that causes build failures with
         -Werror.
      
       - Explicitly zero EAX and EBX in CPUID.0x8000_0022 output when PERFMON_V2
         isn't supported by KVM.
      ea9bd29a
    • Paolo Bonzini's avatar
      Merge tag 'kvmarm-fixes-6.14-4' of... · 1cdad678
      Paolo Bonzini authored
      Merge tag 'kvmarm-fixes-6.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      
      KVM/arm64 fixes for 6.14, take #4
      
      - Fix a couple of bugs affecting pKVM's PSCI relay implementation
        when running in the hVHE mode, resulting in the host being entered
        with the MMU in an unknown state, and EL2 being in the wrong mode.
      1cdad678
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2025-03-08-16-27' of... · 1110ce6a
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2025-03-08-16-27' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "33 hotfixes. 24 are cc:stable and the remainder address post-6.13
        issues or aren't considered necessary for -stable kernels.
      
        26 are for MM and 7 are for non-MM.
      
         - "mm: memory_failure: unmap poisoned folio during migrate properly"
           from Ma Wupeng fixes a couple of two year old bugs involving the
           migration of hwpoisoned folios.
      
         - "selftests/damon: three fixes for false results" from SeongJae Park
           fixes three one year old bugs in the SAMON selftest code.
      
        The remainder are singletons and doubletons. Please see the individual
        changelogs for details"
      
      * tag 'mm-hotfixes-stable-2025-03-08-16-27' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (33 commits)
        mm/page_alloc: fix uninitialized variable
        rapidio: add check for rio_add_net() in rio_scan_alloc_net()
        rapidio: fix an API misues when rio_add_net() fails
        MAINTAINERS: .m...
      1110ce6a
  2. Mar 08, 2025
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2025-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b7c90e3e
      Linus Torvalds authored
      Pull more x86 fixes from Ingo Molnar:
      
       - Add more model IDs to the AMD microcode version check, more people
         are hitting these checks
      
       - Fix a Xen guest boot warning related to AMD northbridge setup
      
       - Fix SEV guest bugs related to a recent changes in its locking logic
      
       - Fix a missing definition of PTRS_PER_PMD that assembly builds can hit
      
      * tag 'x86-urgent-2025-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/AMD: Add some forgotten models to the SHA check
        x86/mm: Define PTRS_PER_PMD for assembly code too
        virt: sev-guest: Move SNP Guest Request data pages handling under snp_cmd_mutex
        virt: sev-guest: Allocate request data dynamically
        x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range()
      b7c90e3e
    • Borislav Petkov (AMD)'s avatar
      x86/microcode/AMD: Add some forgotten models to the SHA check · 058a6bec
      Borislav Petkov (AMD) authored and Ingo Molnar's avatar Ingo Molnar committed
      
      Add some more forgotten models to the SHA check.
      
      Fixes: 50cef76d ("x86/microcode/AMD: Load only SHA256-checksummed patches")
      Reported-by: default avatarToralf Förster <toralf.foerster@gmx.de>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Tested-by: default avatarToralf Förster <toralf.foerster@gmx.de>
      Link: https://lore.kernel.org/r/20250307220256.11816-1-bp@kernel.org
      058a6bec
    • Ingo Molnar's avatar
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-6.14-2' of... · 2e51e0ac
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-6.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen:
       "Fix bugs in kernel build, hibernation, memory management and KVM"
      
      * tag 'loongarch-fixes-6.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: KVM: Fix GPA size issue about VM
        LoongArch: KVM: Reload guest CSR registers after sleep
        LoongArch: KVM: Add interrupt checking for AVEC
        LoongArch: Set hugetlb mmap base address aligned with pmd size
        LoongArch: Set max_pfn with the PFN of the last page
        LoongArch: Use polling play_dead() when resuming from hibernation
        LoongArch: Eliminate superfluous get_numa_distances_cnt()
        LoongArch: Convert unreachable() to BUG()
      2e51e0ac
    • Bibo Mao's avatar
      LoongArch: KVM: Fix GPA size issue about VM · 6bdbb73d
      Bibo Mao authored
      
      Physical address space is 48 bit on Loongson-3A5000 physical machine,
      however it is 47 bit for VM on Loongson-3A5000 system. Size of physical
      address space of VM is the same with the size of virtual user space (a
      half) of physical machine.
      
      Variable cpu_vabits represents user address space, kernel address space
      is not included (user space and kernel space are both a half of total).
      Here cpu_vabits, rather than cpu_vabits - 1, is to represent the size of
      guest physical address space.
      
      Also there is strict checking about page fault GPA address, inject error
      if it is larger than maximum GPA address of VM.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      6bdbb73d
    • Bibo Mao's avatar
      LoongArch: KVM: Reload guest CSR registers after sleep · 78d7bc5a
      Bibo Mao authored
      
      On host, the HW guest CSR registers are lost after suspend and resume
      operation. Since last_vcpu of boot CPU still records latest vCPU pointer
      so that the guest CSR register skips to reload when boot CPU resumes and
      vCPU is scheduled.
      
      Here last_vcpu is cleared so that guest CSR registers will reload from
      scheduled vCPU context after suspend and resume.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      78d7bc5a
    • Bibo Mao's avatar
      LoongArch: KVM: Add interrupt checking for AVEC · 6fb1867d
      Bibo Mao authored
      
      There is a newly added macro INT_AVEC with CSR ESTAT register, which is
      bit 14 used for LoongArch AVEC support. AVEC interrupt status bit 14 is
      supported with macro CSR_ESTAT_IS, so here replace the hard-coded value
      0x1fff with macro CSR_ESTAT_IS so that the AVEC interrupt status is also
      supported by KVM.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      6fb1867d
    • Bibo Mao's avatar
      LoongArch: Set hugetlb mmap base address aligned with pmd size · 3109d5ff
      Bibo Mao authored
      
      With ltp test case "testcases/bin/hugefork02", there is a dmesg error
      report message such as:
      
       kernel BUG at mm/hugetlb.c:5550!
       Oops - BUG[#1]:
       CPU: 0 UID: 0 PID: 1517 Comm: hugefork02 Not tainted 6.14.0-rc2+ #241
       Hardware name: QEMU QEMU Virtual Machine, BIOS unknown 2/2/2022
       pc 90000000004eaf1c ra 9000000000485538 tp 900000010edbc000 sp 900000010edbf940
       a0 900000010edbfb00 a1 9000000108d20280 a2 00007fffe9474000 a3 00007ffff3474000
       a4 0000000000000000 a5 0000000000000003 a6 00000000003cadd3 a7 0000000000000000
       t0 0000000001ffffff t1 0000000001474000 t2 900000010ecd7900 t3 00007fffe9474000
       t4 00007fffe9474000 t5 0000000000000040 t6 900000010edbfb00 t7 0000000000000001
       t8 0000000000000005 u0 90000000004849d0 s9 900000010edbfa00 s0 9000000108d20280
       s1 00007fffe9474000 s2 0000000002000000 s3 9000000108d20280 s4 9000000002b38b10
       s5 900000010edbfb00 s6 00007ffff3474000 s7 0000000000000406 s8 900000010edbfa08
          ra: 9000000000485538 unmap_vmas+0x130/0x218
         ERA: 90000000004eaf1c __unmap_hugepage_range+0x6f4/0x7d0
        PRMD: 00000004 (PPLV0 +PIE -PWE)
        EUEN: 00000007 (+FPE +SXE +ASXE -BTE)
        ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7)
       ESTAT: 000c0000 [BRK] (IS= ECode=12 EsubCode=0)
       PRID: 0014c010 (Loongson-64bit, Loongson-3A5000)
       Process hugefork02 (pid: 1517, threadinfo=00000000a670eaf4, task=000000007a95fc64)
       Call Trace:
       [<90000000004eaf1c>] __unmap_hugepage_range+0x6f4/0x7d0
       [<9000000000485534>] unmap_vmas+0x12c/0x218
       [<9000000000494068>] exit_mmap+0xe0/0x308
       [<900000000025fdc4>] mmput+0x74/0x180
       [<900000000026a284>] do_exit+0x294/0x898
       [<900000000026aa30>] do_group_exit+0x30/0x98
       [<900000000027bed4>] get_signal+0x83c/0x868
       [<90000000002457b4>] arch_do_signal_or_restart+0x54/0xfa0
       [<90000000015795e8>] irqentry_exit_to_user_mode+0xb8/0x138
       [<90000000002572d0>] tlb_do_page_fault_1+0x114/0x1b4
      
      The problem is that base address allocated from hugetlbfs is not aligned
      with pmd size. Here add a checking for hugetlbfs and align base address
      with pmd size. After this patch the test case "testcases/bin/hugefork02"
      passes to run.
      
      This is similar to the commit 7f24cbc9 ("mm/mmap: teach
      generic_get_unmapped_area{_topdown} to handle hugetlb mappings").
      
      Cc: stable@vger.kernel.org  # 6.13+
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      3109d5ff
    • Bibo Mao's avatar
      LoongArch: Set max_pfn with the PFN of the last page · c8477bb0
      Bibo Mao authored
      
      The current max_pfn equals to zero. In this case, it causes user cannot
      get some page information through /proc filesystem such as kpagecount.
      The following message is displayed by stress-ng test suite with command
      "stress-ng --verbose --physpage 1 -t 1".
      
       # stress-ng --verbose --physpage 1 -t 1
       stress-ng: error: [1691] physpage: cannot read page count for address 0x134ac000 in /proc/kpagecount, errno=22 (Invalid argument)
       stress-ng: error: [1691] physpage: cannot read page count for address 0x7ffff207c3a8 in /proc/kpagecount, errno=22 (Invalid argument)
       stress-ng: error: [1691] physpage: cannot read page count for address 0x134b0000 in /proc/kpagecount, errno=22 (Invalid argument)
       ...
      
      After applying this patch, the kernel can pass the test.
      
       # stress-ng --verbose --physpage 1 -t 1
       stress-ng: debug: [1701] physpage: [1701] started (instance 0 on CPU 3)
       stress-ng: debug: [1701] physpage: [1701] exited (instance 0 on CPU 3)
       stress-ng: debug: [1700] physpage: [1701] terminated (success)
      
      Cc: stable@vger.kernel.org  # 6.8+
      Fixes: ff6c3d81 ("NUMA: optimize detection of memory with no node id assigned by firmware")
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      c8477bb0
    • Huacai Chen's avatar
      LoongArch: Use polling play_dead() when resuming from hibernation · c9117434
      Huacai Chen authored
      
      When CONFIG_RANDOM_KMALLOC_CACHES or other randomization infrastructrue
      enabled, the idle_task's stack may different between the booting kernel
      and target kernel. So when resuming from hibernation, an ACTION_BOOT_CPU
      IPI wakeup the idle instruction in arch_cpu_idle_dead() and jump to the
      interrupt handler. But since the stack pointer is changed, the interrupt
      handler cannot restore correct context.
      
      So rename the current arch_cpu_idle_dead() to idle_play_dead(), make it
      as the default version of play_dead(), and the new arch_cpu_idle_dead()
      call play_dead() directly. For hibernation, implement an arch-specific
      hibernate_resume_nonboot_cpu_disable() to use the polling version (idle
      instruction is replace by nop, and irq is disabled) of play_dead(), i.e.
      poll_play_dead(), to avoid IPI handler corrupting the idle_task's stack
      when resuming from hibernation.
      
      This solution is a little similar to commit 406f992e ("x86 /
      hibernate: Use hlt_play_dead() when resuming from hibernation").
      
      Cc: stable@vger.kernel.org
      Tested-by: default avatarErpeng Xu <xuerpeng@uniontech.com>
      Tested-by: default avatarYuli Wang <wangyuli@uniontech.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      c9117434
    • Avenger-285714's avatar
      LoongArch: Eliminate superfluous get_numa_distances_cnt() · a0d3c8bc
      Avenger-285714 authored
      In LoongArch, get_numa_distances_cnt() isn't in use, resulting in a
      compiler warning.
      
      Fix follow errors with clang-18 when W=1e:
      
      arch/loongarch/kernel/acpi.c:259:28: error: unused function 'get_numa_distances_cnt' [-Werror,-Wunused-function]
        259 | static inline unsigned int get_numa_distances_cnt(struct acpi_table_slit *slit)
            |                            ^~~~~~~~~~~~~~~~~~~~~~
      1 error generated.
      
      Link: https://lore.kernel.org/all/Z7bHPVUH4lAezk0E@kernel.org/
      
      
      Signed-off-by: default avatarYuli Wang <wangyuli@uniontech.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      a0d3c8bc
    • Tiezhu Yang's avatar
      LoongArch: Convert unreachable() to BUG() · da64a235
      Tiezhu Yang authored
      
      When compiling on LoongArch, there exists the following objtool warning
      in arch/loongarch/kernel/machine_kexec.o:
      
        kexec_reboot() falls through to next function crash_shutdown_secondary()
      
      Avoid using unreachable() as it can (and will in the absence of UBSAN)
      generate fall-through code. Use BUG() so we get a "break BRK_BUG" trap
      (with unreachable annotation).
      
      Cc: stable@vger.kernel.org  # 6.12+
      Acked-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      da64a235
    • Linus Torvalds's avatar
      Merge tag 's390-6.14-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2a520073
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Fix return address recovery of traced function in ftrace to ensure
         reliable stack unwinding
      
       - Fix compiler warnings and runtime crashes of vDSO selftests on s390
         by introducing a dedicated GNU hash bucket pointer with correct
         32-bit entry size
      
       - Fix test_monitor_call() inline asm, which misses CC clobber, by
         switching to an instruction that doesn't modify CC
      
      * tag 's390-6.14-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/ftrace: Fix return address recovery of traced function
        selftests/vDSO: Fix GNU hash table entry size for s390x
        s390/traps: Fix test_monitor_call() inline assembly
      2a520073
  3. Mar 07, 2025
    • Ingo Molnar's avatar
      x86/mm: Define PTRS_PER_PMD for assembly code too · 6914f7e2
      Ingo Molnar authored
      
      Andy reported the following build warning from head_32.S:
      
        In file included from arch/x86/kernel/head_32.S:29:
        arch/x86/include/asm/pgtable_32.h:59:5: error: "PTRS_PER_PMD" is not defined, evaluates to 0 [-Werror=undef]
             59 | #if PTRS_PER_PMD > 1
      
      The reason is that on 2-level i386 paging the folded in PMD's
      PTRS_PER_PMD constant is not defined in assembly headers,
      only in generic MM C headers.
      
      Instead of trying to fish out the definition from the generic
      headers, just define it - it even has a comment for it already...
      
      Reported-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Tested-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: https://lore.kernel.org/r/Z8oa8AUVyi2HWfo9@gmail.com
      6914f7e2
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 21e4543a
      Linus Torvalds authored
      Pull slab fix from Vlastimil Babka:
      
       - Stable fix for kmem_cache_destroy() called from a WQ_MEM_RECLAIM
         workqueue causing a warning due to the new kvfree_rcu_barrier()
         (Uladzislau Rezki)
      
      * tag 'slab-for-6.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm/slab/kvfree_rcu: Switch to WQ_MEM_RECLAIM wq
      21e4543a
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d4fd25b6
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Restore the previous behavior of the ACPI platform_profile sysfs
        interface that has been changed recently in a way incompatible with
        the existing user space (Mario Limonciello)"
      
      * tag 'acpi-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        platform/x86/amd: pmf: Add balanced-performance to hidden choices
        platform/x86/amd: pmf: Add 'quiet' to hidden choices
        ACPI: platform_profile: Add support for hidden choices
      d4fd25b6
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · dd047efb
      Linus Torvalds authored
      Pull core dumping fix from Kees Cook:
      
       - Only sort VMAs when core_sort_vma sysctl is set
      
      * tag 'execve-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        coredump: Only sort VMAs when core_sort_vma sysctl is set
      dd047efb
    • Linus Torvalds's avatar
      Merge tag 'for-6.14-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6ceb6346
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix leaked extent map after error when reading chunks
      
       - replace use of deprecated strncpy
      
       - in zoned mode, fixed range when ulocking extent range, causing a hang
      
      * tag 'for-6.14-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix a leaked chunk map issue in read_one_chunk()
        btrfs: replace deprecated strncpy() with strscpy()
        btrfs: zoned: fix extent range end unlock in cow_file_range()
      6ceb6346
    • Linus Torvalds's avatar
      Merge tag 'block-6.14-20250306' of git://git.kernel.dk/linux · 381af8d9
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - TCP use after free fix on polling (Sagi)
            - Controller memory buffer cleanup fixes (Icenowy)
            - Free leaking requests on bad user passthrough commands (Keith)
            - TCP error message fix (Maurizio)
            - TCP corruption fix on partial PDU (Maurizio)
            - TCP memory ordering fix for weakly ordered archs (Meir)
            - Type coercion fix on message error for TCP (Dan)
      
       - Name the RQF flags enum, fixing issues with anon enums and BPF import
         of it
      
       - ublk parameter setting fix
      
       - GPT partition 7-bit conversion fix
      
      * tag 'block-6.14-20250306' of git://git.kernel.dk/linux:
        block: Name the RQF flags enum
        nvme-tcp: fix signedness bug in nvme_tcp_init_connection()
        block: fix conversion of GPT partition name to 7-bit
        ublk: set_params: properly check if parameters can be applied
        nvmet-tcp: Fix a possible sporadic response drops in weakly ordered arch
        nvme-tcp: fix potential memory corruption in nvme_tcp_recv_pdu()
        nvme-tcp: Fix a C2HTermReq error message
        nvmet: remove old function prototype
        nvme-ioctl: fix leaked requests on mapping error
        nvme-pci: skip CMB blocks incompatible with PCI P2P DMA
        nvme-pci: clean up CMBMSC when registering CMB fails
        nvme-tcp: fix possible UAF in nvme_tcp_poll
      381af8d9
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.14-20250306' of git://git.kernel.dk/linux · d53276d2
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "A single fix for a regression introduced in the 6.14 merge window,
        causing stalls/hangs with IOPOLL reads or writes"
      
      * tag 'io_uring-6.14-20250306' of git://git.kernel.dk/linux:
        io_uring/rw: ensure reissue path is correctly handled for IOPOLL
      d53276d2
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1c5183aa
      Linus Torvalds authored
      Pull misc scheduler fixes from Ingo Molnar:
      
       - Fix deadline scheduler sysctl parameter setting bug
      
       - Fix RT scheduler sysctl parameter setting bug
      
       - Fix possible memory corruption in child_cfs_rq_on_list()
      
      * tag 'sched-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/rt: Update limit of sched_rt sysctl in documentation
        sched/deadline: Use online cpus for validating runtime
        sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
      1c5183aa
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab60bd57
      Linus Torvalds authored
      Pull perf event fixes from Ingo Molnar:
       "Fix a race between PMU registration and event creation, and fix
        pmus_lock vs. pmus_srcu lock ordering"
      
      * tag 'perf-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Fix perf_pmu_register() vs. perf_init_event()
        perf/core: Fix pmus_lock vs. pmus_srcu ordering
      ab60bd57
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 042751d3
      Linus Torvalds authored
      Pull misc x86 fixes from Ingo Molnar:
      
       - Fix CPUID leaf 0x2 parsing bugs
      
       - Sanitize very early boot parameters to avoid crash
      
       - Fix size overflows in the SGX code
      
       - Make CALL_NOSPEC use consistent
      
      * tag 'x86-urgent-2025-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Sanitize boot params before parsing command line
        x86/sgx: Fix size overflows in sgx_encl_create()
        x86/cpu: Properly parse CPUID leaf 0x2 TLB descriptor 0x63
        x86/cpu: Validate CPUID leaf 0x2 EDX output
        x86/cacheinfo: Validate CPUID leaf 0x2 EDX output
        x86/speculation: Add a conditional CS prefix to CALL_NOSPEC
        x86/speculation: Simplify and make CALL_NOSPEC consistent
      042751d3
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.14-rc6' of... · 8287dfc2
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - xgene-hwmon: Fix a NULL vs IS_ERR_OR_NULL() check
      
       - ad7314: Return error if leading zero bits are non-zero
      
       - ntc_thermistor: Update/fix the ncpXXxh103 sensor table
      
       - pmbus: Initialise page count in pmbus_identify()
      
       - peci/dimmtemp: Do not provide fake threshold data
      
      * tag 'hwmon-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: fix a NULL vs IS_ERR_OR_NULL() check in xgene_hwmon_probe()
        hwmon: (ad7314) Validate leading zero bits and return error
        hwmon: (ntc_thermistor) Fix the ncpXXxh103 sensor table
        hwmon: (pmbus) Initialise page count in pmbus_identify()
        hwmon: (peci/dimmtemp) Do not provide fake thresholds data
      8287dfc2
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 1222390d
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - protect gpio-aggregator against module unload
      
       - use raw spinlock in gpio-rcar to fix a lockdep splat
      
       - fix OF node leak in gpio-rcar
      
      * tag 'gpio-fixes-for-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: rcar: Fix missing of_node_put() call
        gpio: rcar: Use raw_spinlock to protect register access
        gpio: aggregator: protect driver attr handlers against module unload
      1222390d
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.14-4' of... · 8aed61b8
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Ilpo Järvinen:
      
       - amd/pmf:
           - Initialize 'cb_mutex'
           - Support for new version of PMF-TA
      
       - intel-hid: Fix volume buttons on Microsoft Surface Go 4 tablet
      
       - intel/vsec: Add Diamond Rapids support
      
       - thinkpad_acpi: Add battery quirk for ThinkPad X131e
      
      * tag 'platform-drivers-x86-v6.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86/amd/pmf: Update PMF Driver for Compatibility with new PMF-TA
        platform/x86/amd/pmf: Propagate PMF-TA return codes
        platform/x86/intel/vsec: Add Diamond Rapids support
        platform/x86: thinkpad_acpi: Add battery quirk for ThinkPad X131e
        platform/x86: intel-hid: fix volume buttons on Microsoft Surface Go 4 tablet
        platform/x86/amd/pmf: Initialize and clean up `cb_mutex`
      8aed61b8
    • Linus Torvalds's avatar
      Merge tag 'sound-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2a405b36
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "There is a single change in ALSA core (for sequencer code for the
        module auto-loading in a wrong timing) while the all rest are various
        HD- and USB-audio fixes.
      
        Many of them are boring device-specific quirks, and should be safe to
        take"
      
      * tag 'sound-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Add support for ASUS Zenbook UM3406KA Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS B5405 and B5605 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS B3405 and B3605 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for various ASUS Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS ROG Strix G614 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS ROG Strix GA603 Laptops using CS35L41 HDA
        ALSA: hda/realtek: Add support for ASUS ROG Strix G814 Laptop using CS35L41 HDA
        ALSA: hda: intel: Add Dell ALC3271 to power_save denylist
        ALSA: hda/realtek: update ALC222 depop optimize
        ALSA: hda: realtek: fix incorrect IS_REACHABLE() usage
        ALSA: usx2y: validate nrpacks module parameter on probe
        ALSA: hda/realtek - add supported Mic Mute LED for Lenovo platform
        ALSA: seq: Avoid module auto-load handling at event delivery
        ALSA: hda: Fix speakers on ASUS EXPERTBOOK P5405CSA 1.0
        ALSA: hda/realtek: Fix Asus Z13 2025 audio
        ALSA: hda/realtek: Remove (revert) duplicate Ally X config
      2a405b36
    • Alexey Kardashevskiy's avatar
      virt: sev-guest: Move SNP Guest Request data pages handling under snp_cmd_mutex · 3e385c0d
      Alexey Kardashevskiy authored
      
      Compared to the SNP Guest Request, the "Extended" version adds data pages for
      receiving certificates. If not enough pages provided, the HV can report to the
      VM how much is needed so the VM can reallocate and repeat.
      
      Commit
      
        ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      
      moved handling of the allocated/desired pages number out of scope of said
      mutex and create a possibility for a race (multiple instances trying to
      trigger Extended request in a VM) as there is just one instance of
      snp_msg_desc per /dev/sev-guest and no locking other than snp_cmd_mutex.
      
      Fix the issue by moving the data blob/size and the GHCB input struct
      (snp_req_data) into snp_guest_req which is allocated on stack now and accessed
      by the GHCB caller under that mutex.
      
      Stop allocating SEV_FW_BLOB_MAX_SIZE in snp_msg_alloc() as only one of four
      callers needs it. Free the received blob in get_ext_report() right after it is
      copied to the userspace. Possible future users of snp_send_guest_request() are
      likely to have different ideas about the buffer size anyways.
      
      Fixes: ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@amd.com>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Reviewed-by: default avatarNikunj A Dadhania <nikunj@amd.com>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20250307013700.437505-3-aik@amd.com
      3e385c0d
    • Nikunj A Dadhania's avatar
      virt: sev-guest: Allocate request data dynamically · ac7c06ac
      Nikunj A Dadhania authored
      Commit
      
        ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      
      narrowed the command mutex scope to snp_send_guest_request().  However,
      GET_REPORT, GET_DERIVED_KEY, and GET_EXT_REPORT share the req structure in
      snp_guest_dev. Without the mutex protection, concurrent requests can overwrite
      each other's data. Fix it by dynamically allocating the request structure.
      
      Fixes: ae596615 ("virt: sev-guest: Reduce the scope of SNP command mutex")
      Closes: https://github.com/AMDESE/AMDSEV/issues/265
      
      
      Reported-by: default avatar <andreas.stuehrk@yaxi.tech>
      Signed-off-by: default avatarNikunj A Dadhania <nikunj@amd.com>
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@amd.com>
      Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20250307013700.437505-2-aik@amd.com
      ac7c06ac
    • Andrew Cooper's avatar
      x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range() · 14cb5d83
      Andrew Cooper authored and Ingo Molnar's avatar Ingo Molnar committed
      
      Xen doesn't offer MSR_FAM10H_MMIO_CONF_BASE to all guests.  This results
      in the following warning:
      
        unchecked MSR access error: RDMSR from 0xc0010058 at rIP: 0xffffffff8101d19f (xen_do_read_msr+0x7f/0xa0)
        Call Trace:
         xen_read_msr+0x1e/0x30
         amd_get_mmconfig_range+0x2b/0x80
         quirk_amd_mmconfig_area+0x28/0x100
         pnp_fixup_device+0x39/0x50
         __pnp_add_device+0xf/0x150
         pnp_add_device+0x3d/0x100
         pnpacpi_add_device_handler+0x1f9/0x280
         acpi_ns_get_device_callback+0x104/0x1c0
         acpi_ns_walk_namespace+0x1d0/0x260
         acpi_get_devices+0x8a/0xb0
         pnpacpi_init+0x50/0x80
         do_one_initcall+0x46/0x2e0
         kernel_init_freeable+0x1da/0x2f0
         kernel_init+0x16/0x1b0
         ret_from_fork+0x30/0x50
         ret_from_fork_asm+0x1b/0x30
      
      based on quirks for a "PNP0c01" device.  Treating MMCFG as disabled is the
      right course of action, so no change is needed there.
      
      This was most likely exposed by fixing the Xen MSR accessors to not be
      silently-safe.
      
      Fixes: 3fac3734 ("xen/pv: support selecting safe/unsafe msr accesses")
      Signed-off-by: default avatarAndrew Cooper <andrew.cooper3@citrix.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Link: https://lore.kernel.org/r/20250307002846.3026685-1-andrew.cooper3@citrix.com
      14cb5d83
    • Linus Torvalds's avatar
      fs/pipe: add simpler helpers for common cases · 00a7d398
      Linus Torvalds authored
      
      The fix to atomically read the pipe head and tail state when not holding
      the pipe mutex has caused a number of headaches due to the size change
      of the involved types.
      
      It turns out that we don't have _that_ many places that access these
      fields directly and were affected, but we have more than we strictly
      should have, because our low-level helper functions have been designed
      to have intimate knowledge of how the pipes work.
      
      And as a result, that random noise of direct 'pipe->head' and
      'pipe->tail' accesses makes it harder to pinpoint any actual potential
      problem spots remaining.
      
      For example, we didn't have a "is the pipe full" helper function, but
      instead had a "given these pipe buffer indexes and this pipe size, is
      the pipe full".  That's because some low-level pipe code does actually
      want that much more complicated interface.
      
      But most other places literally just want a "is the pipe full" helper,
      and not having it meant that those places ended up being unnecessarily
      much too aware of this all.
      
      It would have been much better if only the very core pipe code that
      cared had been the one aware of this all.
      
      So let's fix it - better late than never.  This just introduces the
      trivial wrappers for "is this pipe full or empty" and to get how many
      pipe buffers are used, so that instead of writing
      
              if (pipe_full(pipe->head, pipe->tail, pipe->max_usage))
      
      the places that literally just want to know if a pipe is full can just
      say
      
              if (pipe_is_full(pipe))
      
      instead.  The existing trivial cases were converted with a 'sed' script.
      
      This cuts down on the places that access pipe->head and pipe->tail
      directly outside of the pipe code (and core splice code) quite a lot.
      
      The splice code in particular still revels in doing the direct low-level
      accesses, and the fuse fuse_dev_splice_write() code also seems a bit
      unnecessarily eager to go very low-level, but it's at least a bit better
      than it used to be.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      00a7d398
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2025-03-07' of https://gitlab.freedesktop.org/drm/kernel · 28f587ad
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Fixes across the board, mostly xe and imagination with some amd and
        misc others.
      
        The xe fixes are mostly hmm related, though there are some others in
        there as well, nothing really stands out otherwise.
      
        The nouveau Kconfig to select FW_CACHE is in this, which we discussed
        a while back.
      
        nouveau:
         - rely on fw caching Kconfig fix
      
        imagination:
         - avoid deadlock on fence release
         - fix fence initialisation
         - fix timestamps firmware traces
      
        scheduler:
         - fix include guard
      
        bochs:
         - dpms fix
      
        i915:
         - bump max stream count to match pipes
      
        xe:
         - Remove double page flip on initial plane
         - Properly setup userptr pfn_flags_mask
         - Fix GT "for each engine" workarounds
         - Fix userptr races and missed validations
         - Userptr invalid page access fixes
         - Cleanup some style nits
      
        amdgpu:
         - Fix NULL check in DC code
         - SMU 14 fix
      
        amdkfd:
         - Fix NULL check in queue validation
      
        radeon:
         - RS400 HyperZ fix"
      
      * tag 'drm-fixes-2025-03-07' of https://gitlab.freedesktop.org/drm/kernel: (22 commits)
        drm/bochs: Fix DPMS regression
        drm/xe/userptr: Unmap userptrs in the mmu notifier
        drm/xe/hmm: Don't dereference struct page pointers without notifier lock
        drm/xe/hmm: Style- and include fixes
        drm/xe: Add staging tree for VM binds
        drm/xe: Fix fault mode invalidation with unbind
        drm/xe/vm: Fix a misplaced #endif
        drm/xe/vm: Validate userptr during gpu vma prefetching
        drm/amd/pm: always allow ih interrupt from fw
        drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M
        drm/amdkfd: Fix NULL Pointer Dereference in KFD queue
        drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params
        drm/xe: Fix GT "for each engine" workarounds
        drm/xe/userptr: properly setup pfn_flags_mask
        drm/i915/mst: update max stream count to match number of pipes
        drm/xe: Remove double pageflip
        drm/sched: Fix preprocessor guard
        drm/imagination: Fix timestamps in firmware traces
        drm/imagination: only init job done fences once
        drm/imagination: Hold drm_gem_gpuva lock for unmap
        ...
      28f587ad
    • Breno Leitao's avatar
      block: Name the RQF flags enum · e7112524
      Breno Leitao authored
      
      Commit 5f89154e ("block: Use enum to define RQF_x bit
      indexes") converted the RQF flags to an anonymous enum, which was
      a beneficial change. This patch goes one step further by naming the enum
      as "rqf_flags".
      
      This naming enables exporting these flags to BPF clients, eliminating
      the need to duplicate these flags in BPF code. Instead, BPF clients can
      now access the same kernel-side values through CO:RE (Compile Once, Run
      Everywhere), as shown in this example:
      
          rqf_stats = bpf_core_enum_value(enum rqf_flags, __RQF_STATS)
      
      Suggested-by: default avatarYonghong Song <yonghong.song@linux.dev>
      Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
      Link: https://lore.kernel.org/r/20250306-rqf_flags-v1-1-bbd64918b406@debian.org
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e7112524
Loading