Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. May 02, 2023
    • Michal Simek's avatar
      MAINTAINERS: update Michal Simek's email · 3628d2bb
      Michal Simek authored
      @xilinx.com is still working but better to switch to new amd.com after
      AMD/Xilinx acquisition.
      
      Link: https://lkml.kernel.org/r/bd073d026f8c367a9cfb45d26d39f26e40c665dc.1683035692.git.michal.simek@amd.com
      
      
      Signed-off-by: default avatarMichal Simek <michal.simek@amd.com>
      Cc: Colin Ian King <colin.i.king@gmail.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Kirill Tkhai <tkhai@ya.ru>
      Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
      Cc: Qais Yousef <qyousef@layalina.io>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      3628d2bb
    • Lorenzo Stoakes's avatar
      mm/mempolicy: correctly update prev when policy is equal on mbind · 00ca0f2e
      Lorenzo Stoakes authored
      The refactoring in commit f4e9e0e6 ("mm/mempolicy: fix use-after-free
      of VMA iterator") introduces a subtle bug which arises when attempting to
      apply a new NUMA policy across a range of VMAs in mbind_range().
      
      The refactoring passes a **prev pointer to keep track of the previous VMA
      in order to reduce duplication, and in all but one case it keeps this
      correctly updated.
      
      The bug arises when a VMA within the specified range has an equivalent
      policy as determined by mpol_equal() - which unlike other cases, does not
      update prev.
      
      This can result in a situation where, later in the iteration, a VMA is
      found whose policy does need to change.  At this point, vma_merge() is
      invoked with prev pointing to a VMA which is before the previous VMA.
      
      Since vma_merge() discovers the curr VMA by looking for the one
      immediately after prev, it will now be in a situation where this VMA is
      incorrect and the merge will not proceed correctly.
      
      This is checked in the VM_WARN_ON() invariant case with end >
      curr->vm_end, which, if a merge is possible, results in a warning (if
      CONFIG_DEBUG_VM is specified).
      
      I note that vma_merge() performs these invariant checks only after
      merge_prev/merge_next are checked, which is debatable as it hides this
      issue if no merge is possible even though a buggy situation has arisen.
      
      The solution is simply to update the prev pointer even when policies are
      equal.
      
      This caused a bug to arise in the 6.2.y stable tree, and this patch
      resolves this bug.
      
      Link: https://lkml.kernel.org/r/83f1d612acb519d777bebf7f3359317c4e7f4265.1682866629.git.lstoakes@gmail.com
      Fixes: f4e9e0e6
      
       ("mm/mempolicy: fix use-after-free of VMA iterator")
      Signed-off-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
      Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
        Link: https://lore.kernel.org/oe-lkp/202304292203.44ddeff6-oliver.sang@intel.com
      
      
      Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      00ca0f2e
    • Zhang Zhengming's avatar
      relayfs: fix out-of-bounds access in relay_file_read · 43ec16f1
      Zhang Zhengming authored
      There is a crash in relay_file_read, as the var from
      point to the end of last subbuf.
      
      The oops looks something like:
      pc : __arch_copy_to_user+0x180/0x310
      lr : relay_file_read+0x20c/0x2c8
      Call trace:
       __arch_copy_to_user+0x180/0x310
       full_proxy_read+0x68/0x98
       vfs_read+0xb0/0x1d0
       ksys_read+0x6c/0xf0
       __arm64_sys_read+0x20/0x28
       el0_svc_common.constprop.3+0x84/0x108
       do_el0_svc+0x74/0x90
       el0_svc+0x1c/0x28
       el0_sync_handler+0x88/0xb0
       el0_sync+0x148/0x180
      
      We get the condition by analyzing the vmcore:
      
      1). The last produced byte and last consumed byte
          both at the end of the last subbuf
      
      2). A softirq calls function(e.g __blk_add_trace)
          to write relay buffer occurs when an program is calling
          relay_file_read_avail().
      
              relay_file_read
                      relay_file_read_avail
                              relay_file_read_consume(buf, 0, 0);
                              //interrupted by softirq who will write subbuf
                              ....
                              return 1;
                      //read_start point to the end of the last subbuf
                      read_start = relay_file_read_start_pos
                      //avail is equal to subsize
                      avail = relay_file_read_subbuf_avail
                      //from  points to an invalid memory address
                      from = buf->start + read_start
                      //system is crashed
                      copy_to_user(buffer, from, avail)
      
      Link: https://lkml.kernel.org/r/20230419040203.37676-1-zhang.zhengming@h3c.com
      Fixes: 8d62fdeb
      
       ("relay file read: start-pos fix")
      Signed-off-by: default avatarZhang Zhengming <zhang.zhengming@h3c.com>
      Reviewed-by: default avatarZhao Lei <zhao_lei1@hoperun.com>
      Reviewed-by: default avatarZhou Kete <zhou.kete@h3c.com>
      Reviewed-by: default avatarPengcheng Yang <yangpc@wangsu.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      43ec16f1
    • Mark Rutland's avatar
      kasan: hw_tags: avoid invalid virt_to_page() · 29083fd8
      Mark Rutland authored
      When booting with 'kasan.vmalloc=off', a kernel configured with support
      for KASAN_HW_TAGS will explode at boot time due to bogus use of
      virt_to_page() on a vmalloc adddress.  With CONFIG_DEBUG_VIRTUAL selected
      this will be reported explicitly, and with or without CONFIG_DEBUG_VIRTUAL
      the kernel will dereference a bogus address:
      
      | ------------[ cut here ]------------
      | virt_to_phys used for non-linear address: (____ptrval____) (0xffff800008000000)
      | WARNING: CPU: 0 PID: 0 at arch/arm64/mm/physaddr.c:15 __virt_to_phys+0x78/0x80
      | Modules linked in:
      | CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.3.0-rc3-00073-g83865133300d-dirty #4
      | Hardware name: linux,dummy-virt (DT)
      | pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      | pc : __virt_to_phys+0x78/0x80
      | lr : __virt_to_phys+0x78/0x80
      | sp : ffffcd076afd3c80
      | x29: ffffcd076afd3c80 x28: 0068000000000f07 x27: ffff800008000000
      | x26: fffffbfff0000000 x25: fffffbffff000000 x24: ff00000000000000
      | x23: ffffcd076ad3c000 x22: fffffc0000000000 x21: ffff800008000000
      | x20: ffff800008004000 x19: ffff800008000000 x18: ffff800008004000
      | x17: 666678302820295f x16: ffffffffffffffff x15: 0000000000000004
      | x14: ffffcd076b009e88 x13: 0000000000000fff x12: 0000000000000003
      | x11: 00000000ffffefff x10: c0000000ffffefff x9 : 0000000000000000
      | x8 : 0000000000000000 x7 : 205d303030303030 x6 : 302e30202020205b
      | x5 : ffffcd076b41d63f x4 : ffffcd076afd3827 x3 : 0000000000000000
      | x2 : 0000000000000000 x1 : ffffcd076afd3a30 x0 : 000000000000004f
      | Call trace:
      |  __virt_to_phys+0x78/0x80
      |  __kasan_unpoison_vmalloc+0xd4/0x478
      |  __vmalloc_node_range+0x77c/0x7b8
      |  __vmalloc_node+0x54/0x64
      |  init_IRQ+0x94/0xc8
      |  start_kernel+0x194/0x420
      |  __primary_switched+0xbc/0xc4
      | ---[ end trace 0000000000000000 ]---
      | Unable to handle kernel paging request at virtual address 03fffacbe27b8000
      | Mem abort info:
      |   ESR = 0x0000000096000004
      |   EC = 0x25: DABT (current EL), IL = 32 bits
      |   SET = 0, FnV = 0
      |   EA = 0, S1PTW = 0
      |   FSC = 0x04: level 0 translation fault
      | Data abort info:
      |   ISV = 0, ISS = 0x00000004
      |   CM = 0, WnR = 0
      | swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000041bc5000
      | [03fffacbe27b8000] pgd=0000000000000000, p4d=0000000000000000
      | Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
      | Modules linked in:
      | CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W          6.3.0-rc3-00073-g83865133300d-dirty #4
      | Hardware name: linux,dummy-virt (DT)
      | pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      | pc : __kasan_unpoison_vmalloc+0xe4/0x478
      | lr : __kasan_unpoison_vmalloc+0xd4/0x478
      | sp : ffffcd076afd3ca0
      | x29: ffffcd076afd3ca0 x28: 0068000000000f07 x27: ffff800008000000
      | x26: 0000000000000000 x25: 03fffacbe27b8000 x24: ff00000000000000
      | x23: ffffcd076ad3c000 x22: fffffc0000000000 x21: ffff800008000000
      | x20: ffff800008004000 x19: ffff800008000000 x18: ffff800008004000
      | x17: 666678302820295f x16: ffffffffffffffff x15: 0000000000000004
      | x14: ffffcd076b009e88 x13: 0000000000000fff x12: 0000000000000001
      | x11: 0000800008000000 x10: ffff800008000000 x9 : ffffb2f8dee00000
      | x8 : 000ffffb2f8dee00 x7 : 205d303030303030 x6 : 302e30202020205b
      | x5 : ffffcd076b41d63f x4 : ffffcd076afd3827 x3 : 0000000000000000
      | x2 : 0000000000000000 x1 : ffffcd076afd3a30 x0 : ffffb2f8dee00000
      | Call trace:
      |  __kasan_unpoison_vmalloc+0xe4/0x478
      |  __vmalloc_node_range+0x77c/0x7b8
      |  __vmalloc_node+0x54/0x64
      |  init_IRQ+0x94/0xc8
      |  start_kernel+0x194/0x420
      |  __primary_switched+0xbc/0xc4
      | Code: d34cfc08 aa1f03fa 8b081b39 d503201f (f9400328)
      | ---[ end trace 0000000000000000 ]---
      | Kernel panic - not syncing: Attempted to kill the idle task!
      
      This is because init_vmalloc_pages() erroneously calls virt_to_page() on
      a vmalloc address, while virt_to_page() is only valid for addresses in
      the linear/direct map. Since init_vmalloc_pages() expects virtual
      addresses in the vmalloc range, it must use vmalloc_to_page() rather
      than virt_to_page().
      
      We call init_vmalloc_pages() from __kasan_unpoison_vmalloc(), where we
      check !is_vmalloc_or_module_addr(), suggesting that we might encounter a
      non-vmalloc address. Luckily, this never happens. By design, we only
      call __kasan_unpoison_vmalloc() on pointers in the vmalloc area, and I
      have verified that we don't violate that expectation. Given that,
      is_vmalloc_or_module_addr() must always be true for any legitimate
      argument to __kasan_unpoison_vmalloc().
      
      Correct init_vmalloc_pages() to use vmalloc_to_page(), and remove the
      redundant and misleading use of is_vmalloc_or_module_addr() in
      __kasan_unpoison_vmalloc().
      
      Link: https://lkml.kernel.org/r/20230418164212.1775741-1-mark.rutland@arm.com
      Fixes: 6c2f761d
      
       ("kasan: fix zeroing vmalloc memory with HW_TAGS")
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Marco Elver <elver@google.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      29083fd8
  2. Apr 28, 2023
    • Linus Torvalds's avatar
      Merge tag 'x86_mm_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 22b8cc3e
      Linus Torvalds authored
      Pull x86 LAM (Linear Address Masking) support from Dave Hansen:
       "Add support for the new Linear Address Masking CPU feature.
      
        This is similar to ARM's Top Byte Ignore and allows userspace to store
        metadata in some bits of pointers without masking it out before use"
      
      * tag 'x86_mm_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/iommu/sva: Do not allow to set FORCE_TAGGED_SVA bit from outside
        x86/mm/iommu/sva: Fix error code for LAM enabling failure due to SVA
        selftests/x86/lam: Add test cases for LAM vs thread creation
        selftests/x86/lam: Add ARCH_FORCE_TAGGED_SVA test cases for linear-address masking
        selftests/x86/lam: Add inherit test cases for linear-address masking
        selftests/x86/lam: Add io_uring test cases for linear-address masking
        selftests/x86/lam: Add mmap and SYSCALL test cases for linear-address masking
        selftests/x86/lam: Add malloc and tag-bits test cases for linear-address masking
        x86/mm/iommu/sva: Make LAM and SVA mutually exclusive
        iommu/sva: Replace pasid_valid() helper with mm_valid_pasid()
        mm: Expose untagging mask in /proc/$PID/status
        x86/mm: Provide arch_prctl() interface for LAM
        x86/mm: Reduce untagged_addr() overhead for systems without LAM
        x86/uaccess: Provide untagged_addr() and remove tags before address check
        mm: Introduce untagged_addr_remote()
        x86/mm: Handle LAM on context switch
        x86: CPUID and CR3/CR4 flags for Linear Address Masking
        x86: Allow atomic MM_CONTEXT flags setting
        x86/mm: Rework address range check in get_user() and put_user()
      22b8cc3e
    • Linus Torvalds's avatar
      Merge tag 'x86_tdx_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7b664cc3
      Linus Torvalds authored
      Pull x86 tdx update from Dave Hansen:
       "The original tdx hypercall assembly code took two flags in %RSI to
        tweak its behavior at runtime. PeterZ recently axed one flag in commit
        e80a48ba ("x86/tdx: Remove TDX_HCALL_ISSUE_STI").
      
        Kill the other flag too and tweak the 'output' mode with an assembly
        macro instead. This results in elimination of one push/pop pair and
        overall easier to read assembly.
      
         - Do conditional __tdx_hypercall() 'output' processing via an
           assembly macro argument rather than a runtime register"
      
      * tag 'x86_tdx_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tdx: Drop flags from __tdx_hypercall()
      7b664cc3
    • Linus Torvalds's avatar
      Merge tag 'x86_fpu_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e54debe6
      Linus Torvalds authored
      Pull x86 fpu updates from Dave Hansen:
       "There's no _actual_ kernel functionality here.
      
        This expands the documentation around AMX support including some code
        examples. The example code also exposed the fact that hardware
        architecture constants as part of the ABI, but there's no easy place
        that they get defined for apps. Adding them to a uabi header will
        eventually make life easier for consumers of the ABI.
      
        Summary:
      
         - Improve AMX documentation along with example code
      
         - Explicitly make some hardware constants part of the uabi"
      
      * tag 'x86_fpu_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation/x86: Explain the state component permission for guests
        Documentation/x86: Add the AMX enabling example
        x86/arch_prctl: Add AMX feature numbers as ABI constants
        Documentation/x86: Explain the purpose for dynamic features
      e54debe6
    • Linus Torvalds's avatar
      Merge tag 'x86_cache_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4980c176
      Linus Torvalds authored
      Pull x86 resctrl update from Dave Hansen:
       "Reduce redundant counter reads with resctrl refactoring"
      
      * tag 'x86_cache_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Avoid redundant counter read in __mon_event_count()
      4980c176
    • Linus Torvalds's avatar
      Merge tag 'x86_cleanups_for_v6.4_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 682f7bba
      Linus Torvalds authored
      Pull x86 cleanups from Borislav Petkov:
      
       - Unify duplicated __pa() and __va() definitions
      
       - Simplify sysctl tables registration
      
       - Remove unused symbols
      
       - Correct function name in comment
      
      * tag 'x86_cleanups_for_v6.4_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Centralize __pa()/__va() definitions
        x86: Simplify one-level sysctl registration for itmt_kern_table
        x86: Simplify one-level sysctl registration for abi_table2
        x86/platform/intel-mid: Remove unused definitions from intel-mid.h
        x86/uaccess: Remove memcpy_page_flushcache()
        x86/entry: Change stale function name in comment to error_return()
      682f7bba
  3. Apr 27, 2023
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2023-04-27-16-01' of... · 33afd4b7
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2023-04-27-16-01' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-MM updates from Andrew Morton:
       "Mainly singleton patches all over the place.
      
        Series of note are:
      
         - updates to scripts/gdb from Glenn Washburn
      
         - kexec cleanups from Bjorn Helgaas"
      
      * tag 'mm-nonmm-stable-2023-04-27-16-01' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (50 commits)
        mailmap: add entries for Paul Mackerras
        libgcc: add forward declarations for generic library routines
        mailmap: add entry for Oleksandr
        ocfs2: reduce ioctl stack usage
        fs/proc: add Kthread flag to /proc/$pid/status
        ia64: fix an addr to taddr in huge_pte_offset()
        checkpatch: introduce proper bindings license check
        epoll: rename global epmutex
        scripts/gdb: add GDB convenience functions $lx_dentry_name() and $lx_i_dentry()
        scripts/gdb: create linux/vfs.py for VFS related GDB helpers
        uapi/linux/const.h: prefer ISO-friendly __typeof__
        delayacct: track delays from IRQ/SOFTIRQ
        scr...
      33afd4b7
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 7fa8a8ee
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of
         switching from a user process to a kernel thread.
      
       - More folio conversions from Kefeng Wang, Zhang Peng and Pankaj
         Raghav.
      
       - zsmalloc performance improvements from Sergey Senozhatsky.
      
       - Yue Zhao has found and fixed some data race issues around the
         alteration of memcg userspace tunables.
      
       - VFS rationalizations from Christoph Hellwig:
           - removal of most of the callers of write_one_page()
           - make __filemap_get_folio()'s return value more useful
      
       - Luis Chamberlain has changed tmpfs so it no longer requires swap
         backing. Use `mount -o noswap'.
      
       - Qi Zheng has made the slab shrinkers operate locklessly, providing
         some scalability benefits.
      
       - Keith Busch has improved dmapool's performance, making part of its
         operations O(1) rather than O(n).
      
       - Peter Xu adds the UFFD_FEAT...
      7fa8a8ee
    • Linus Torvalds's avatar
      Merge tag 'mips_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 91ec4b0d
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - added support for Huawei B593u-12
      
       - added support for virt board aligned to QEMU MIPS virt board
      
       - added support for doing DMA coherence on a per device base
      
       - reworked handling of RALINK SoCs
      
       - cleanup for Loongon64 barriers
      
       - removed deprecated support for MIPS_CMP SMP handling method
      
       - removed support Sibyte CARMEL and CHRINE boards
      
       - cleanups and fixes
      
      * tag 'mips_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (59 commits)
        MIPS: uprobes: Restore thread.trap_nr
        MIPS: Don't clear _PAGE_SPECIAL in _PAGE_CHG_MASK
        MIPS: Sink body of check_bugs_early() into its only call site
        MIPS: Mark check_bugs() as __init
        Revert "MIPS: generic: Enable all CPUs supported by virt board in Kconfig"
        MIPS: octeon_switch: Remove duplicated labels
        MIPS: loongson2ef: Add missing break in cs5536_isa
        MIPS: Remove set_swbp() in uprobes.c
        MIPS: Use def_bool y for ARCH_SUPPORTS_UPROBES
        MIPS: fw: Allow firmware to pass a empty env
        MIPS: Remove deprecated CONFIG_MIPS_CMP
        MIPS: lantiq: remove unused function declaration
        MIPS: Drop unused positional parameter in local_irq_{dis,en}able
        MIPS: mm: Remove local_cache_flush_page
        MIPS: Remove no longer used ide.h
        MIPS: mm: Remove unused *cache_page_indexed flush functions
        MIPS: generic: Enable all CPUs supported by virt board in Kconfig
        MIPS: Add board config for virt board
        MIPS: Octeon: Disable CVMSEG by default on other platforms
        MIPS: Loongson: Don't select platform features with CPU
        ...
      91ec4b0d
    • Linus Torvalds's avatar
      Merge tag 'sh-for-v6.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux · 513f17f8
      Linus Torvalds authored
      Pull sh updates from John Paul Adrian Glaubitz:
       "This is a bit larger than my previous one and mainly consists of
        clean-up work in the arch/sh directory by Geert Uytterhoeven and Randy
        Dunlap.
      
        Additionally, this fixes a bug in the Storage Queue code that was
        discovered while I was reviewing a patch to switch the code to the
        bitmap API by Christophe Jaillet.
      
        So this contains both a fix for the original bug in the Storage Queue
        code that can be backported later as well as the Christophe's patch to
        swich the code to the bitmap API.
      
        Summary:
      
         - Use generic GCC library routines
      
         - sq: Use the bitmap API when applicable
      
         - sq: Fix incorrect element size for allocating bitmap buffer
      
         - pci: Remove unused variable in SH-7786 PCI Express code
      
         - mcount.S: fix build error when PRINTK is not enabled
      
         - remove sh5/sh64 last fragments
      
         - math-emu: fix macro redefined warning
      
         - init: use OF_EARLY_FLATTREE for early init
      
         - nmi_debug: fix return value of __setup handler
      
         - SH2007: drop the bad URL info"
      
      * tag 'sh-for-v6.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux:
        sh: Replace <uapi/asm/types.h> by <asm-generic/int-ll64.h>
        sh: Use generic GCC library routines
        sh: sq: Use the bitmap API when applicable
        sh: sq: Fix incorrect element size for allocating bitmap buffer
        sh: pci: Remove unused variable in SH-7786 PCI Express code
        sh: mcount.S: fix build error when PRINTK is not enabled
        sh: remove sh5/sh64 last fragments
        sh: math-emu: fix macro redefined warning
        sh: init: use OF_EARLY_FLATTREE for early init
        sh: nmi_debug: fix return value of __setup handler
        sh: SH2007: drop the bad URL info
      513f17f8
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 35fab927
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - some cleanups in the Xen blkback driver
      
       - fix potential sleeps under lock in various Xen drivers
      
      * tag 'for-linus-6.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/blkback: move blkif_get_x86_*_req() into blkback.c
        xen/blkback: simplify free_persistent_gnts() interface
        xen/blkback: remove stale prototype
        xen/blkback: fix white space code style issues
        xen/pvcalls: don't call bind_evtchn_to_irqhandler() under lock
        xen/scsiback: don't call scsiback_free_translation_entry() under lock
        xen/pciback: don't call pcistub_device_put() under lock
      35fab927
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20230424' of... · da46b58f
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20230424' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
      
       - PCI passthrough for Hyper-V confidential VMs (Michael Kelley)
      
       - Hyper-V VTL mode support (Saurabh Sengar)
      
       - Move panic report initialization code earlier (Long Li)
      
       - Various improvements and bug fixes (Dexuan Cui and Michael Kelley)
      
      * tag 'hyperv-next-signed-20230424' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (22 commits)
        PCI: hv: Replace retarget_msi_interrupt_params with hyperv_pcpu_input_arg
        Drivers: hv: move panic report code from vmbus to hv early init code
        x86/hyperv: VTL support for Hyper-V
        Drivers: hv: Kconfig: Add HYPERV_VTL_MODE
        x86/hyperv: Make hv_get_nmi_reason public
        x86/hyperv: Add VTL specific structs and hypercalls
        x86/init: Make get/set_rtc_noop() public
        x86/hyperv: Exclude lazy TLB mode CPUs from enlightened TLB flushes
        x86/hyperv: Add callback filter to cpumask_to_vpset()
        Drivers: hv: vmbus: Remove the per-CPU post_msg_page
        clocksource: hyper-v: make sure Invariant-TSC is used if it is available
        PCI: hv: Enable PCI pass-thru devices in Confidential VMs
        Drivers: hv: Don't remap addresses that are above shared_gpa_boundary
        hv_netvsc: Remove second mapping of send and recv buffers
        Drivers: hv: vmbus: Remove second way of mapping ring buffers
        Drivers: hv: vmbus: Remove second mapping of VMBus monitor pages
        swiotlb: Remove bounce buffer remapping for Hyper-V
        Driver: VMBus: Add Devicetree support
        dt-bindings: bus: Add Hyper-V VMBus
        Drivers: hv: vmbus: Convert acpi_device to more generic platform_device
        ...
      da46b58f
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 8ccd54fe
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "virtio,vhost,vdpa: features, fixes, and cleanups:
      
         - reduction in interrupt rate in virtio
      
         - perf improvement for VDUSE
      
         - scalability for vhost-scsi
      
         - non power of 2 ring support for packed rings
      
         - better management for mlx5 vdpa
      
         - suspend for snet
      
         - VIRTIO_F_NOTIFICATION_DATA
      
         - shared backend with vdpa-sim-blk
      
         - user VA support in vdpa-sim
      
         - better struct packing for virtio
      
        and fixes, cleanups all over the place"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (52 commits)
        vhost_vdpa: fix unmap process in no-batch mode
        MAINTAINERS: make me a reviewer of VIRTIO CORE AND NET DRIVERS
        tools/virtio: fix build caused by virtio_ring changes
        virtio_ring: add a struct device forward declaration
        vdpa_sim_blk: support shared backend
        vdpa_sim: move buffer allocation in the devices
        vdpa/snet: use likely/unlikely macros in hot functions
        vdpa/snet: implement kick_vq_with_data callback
        virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
        virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
        vdpa/snet: support the suspend vDPA callback
        vdpa/snet: support getting and setting VQ state
        MAINTAINERS: add vringh.h to Virtio Core and Net Drivers
        vringh: address kdoc warnings
        vdpa: address kdoc warnings
        virtio_ring: don't update event idx on get_buf
        vdpa_sim: add support for user VA
        vdpa_sim: replace the spinlock with a mutex to protect the state
        vdpa_sim: use kthread worker
        vdpa_sim: make devices agnostic for work management
        ...
      8ccd54fe
    • Linus Torvalds's avatar
      Merge tag 'pstore-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 0835b5ee
      Linus Torvalds authored
      Pull pstore update from Kees Cook:
      
       - Revert pmsg_lock back to a normal mutex (John Stultz)
      
      * tag 'pstore-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore: Revert pmsg_lock back to a normal mutex
      0835b5ee
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 900941be
      Linus Torvalds authored
      Pull hardening update from Kees Cook:
      
       - Fix kheaders array declaration to avoid tripping FORTIFY_SOURCE
      
      * tag 'hardening-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        kheaders: Use array declaration instead of char
      900941be
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 888d3c9f
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "This only does a few sysctl moves from the kernel/sysctl.c file, the
        rest of the work has been put towards deprecating two API calls which
        incur recursion and prevent us from simplifying the registration
        process / saving memory per move. Most of the changes have been
        soaking on linux-next since v6.3-rc3.
      
        I've slowed down the kernel/sysctl.c moves due to Matthew Wilcox's
        feedback that we should see if we could *save* memory with these moves
        instead of incurring more memory. We currently incur more memory since
        when we move a syctl from kernel/sysclt.c out to its own file we end
        up having to add a new empty sysctl used to register it. To achieve
        saving memory we want to allow syctls to be passed without requiring
        the end element being empty, and just have our registration process
        rely on ARRAY_SIZE(). Without this, supporting both styles of sysctls
        ...
      888d3c9f
    • Linus Torvalds's avatar
      Merge tag 'modules-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · b6a78285
      Linus Torvalds authored
      Pull module updates from Luis Chamberlain:
       "The summary of the changes for this pull requests is:
      
         - Song Liu's new struct module_memory replacement
      
         - Nick Alcock's MODULE_LICENSE() removal for non-modules
      
         - My cleanups and enhancements to reduce the areas where we vmalloc
           module memory for duplicates, and the respective debug code which
           proves the remaining vmalloc pressure comes from userspace.
      
        Most of the changes have been in linux-next for quite some time except
        the minor fixes I made to check if a module was already loaded prior
        to allocating the final module memory with vmalloc and the respective
        debug code it introduces to help clarify the issue. Although the
        functional change is small it is rather safe as it can only *help*
        reduce vmalloc space for duplicates and is confirmed to fix a bootup
        issue with over 400 CPUs with KASAN enabled. I don't expect stable
        kernels to pi...
      b6a78285
    • Linus Torvalds's avatar
      cdx: fix build failure due to sysfs 'bus_type' argument needing to be const · d06f5a3f
      Linus Torvalds authored
      Commit 75cff725
      
       ("driver core: bus: mark the struct bus_type for
      sysfs callbacks as constant") missed at least one case - the CDX bus
      driver.  Probably because Greg didn't notice the build failure, because
      it only ends up being enabled on arm64.
      
      And I missed it during the merge, because while I do arm64 builds these
      days, I don't do them in between each pull.  So it took a while for me
      to notice the breakage, rather than me just fixing it in the driver core
      merge that brought this failure case in.
      
      Maybe we should remove the CDX_BUS dependency on arm64 when COMPILE_TEST
      is on?
      
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Nipun Gupta <nipun.gupta@amd.com>
      Cc: Nikhil Agarwal <nikhil.agarwal@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d06f5a3f
    • Paul Mackerras's avatar
    • Geert Uytterhoeven's avatar
      libgcc: add forward declarations for generic library routines · 4f20b747
      Geert Uytterhoeven authored
      With W=1 on platforms that use the generic gcc library routines
      (csky/loongarch/mips/riscv/sh/xtensa):
      
          lib/ashldi3.c:9:19: warning: no previous prototype for '__ashldi3' [-Wmissing-prototypes]
      	9 | long long notrace __ashldi3(long long u, word_type b)
      	  |                   ^~~~~~~~~
            CC      lib/ashrdi3.o
          lib/ashrdi3.c:9:19: warning: no previous prototype for '__ashrdi3' [-Wmissing-prototypes]
      	9 | long long notrace __ashrdi3(long long u, word_type b)
      	  |                   ^~~~~~~~~
            CC      lib/cmpdi2.o
          lib/cmpdi2.c:9:19: warning: no previous prototype for '__cmpdi2' [-Wmissing-prototypes]
      	9 | word_type notrace __cmpdi2(long long a, long long b)
      	  |                   ^~~~~~~~
            CC      lib/lshrdi3.o
          lib/lshrdi3.c:9:19: warning: no previous prototype for '__lshrdi3' [-Wmissing-prototypes]
      	9 | long long notrace __lshrdi3(long long u, word_type b)
      	  |                   ^~~~~~~~~
            CC      lib/muldi3.o
          lib/muldi3.c:49:19: warning: no previous prototype for '__muldi3' [-Wmissing-prototypes]
             49 | long long notrace __muldi3(long long u, long long v)
      	  |                   ^~~~~~~~
            CC      lib/ucmpdi2.o
          lib/ucmpdi2.c:8:19: warning: no previous prototype for '__ucmpdi2' [-Wmissing-prototypes]
      	8 | word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
      	  |                   ^~~~~~~~~
      
      Fix this by adding forward declarations to the common libgcc header
      file.
      
      Link: https://lkml.kernel.org/r/5cdbe08296693dd53849f199c3933e16e97b33c1.1682088593.git.geert+renesas@glider.be
      
      
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
        Link: https://lore.kernel.org/oe-kbuild-all/202303272214.RxzpA6bP-lkp@intel.com/
      
      
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4f20b747
    • Ying Huang's avatar
      mm,unmap: avoid flushing TLB in batch if PTE is inaccessible · 4d4b6d66
      Ying Huang authored
      0Day/LKP reported a performance regression for commit 7e12beb8
      ("migrate_pages: batch flushing TLB").  In the commit, the TLB flushing
      during page migration is batched.  So, in try_to_migrate_one(),
      ptep_clear_flush() is replaced with set_tlb_ubc_flush_pending().  In
      further investigation, it is found that the TLB flushing can be avoided in
      ptep_clear_flush() if the PTE is inaccessible.  In fact, we can optimize
      in similar way for the batched TLB flushing too to improve the
      performance.
      
      So in this patch, we check pte_accessible() before
      set_tlb_ubc_flush_pending() in try_to_unmap/migrate_one().  Tests show
      that the benchmark score of the anon-cow-rand-mt test case of
      vm-scalability test suite can improve up to 2.1% with the patch on a Intel
      server machine.  The TLB flushing IPI can reduce up to 44.3%.
      
      Link: https://lore.kernel.org/oe-lkp/202303192325.ecbaf968-yujie.liu@intel.com
      Link: https://lore.kernel.org/oe-lkp/ab92aaddf1b52ede15e2c608696c36765a2602c1.camel@intel.com/
      Link: https://lkml.kernel.org/r/20230424065408.188498-1-ying.huang@intel.com
      Fixes: 7e12beb8
      
       ("migrate_pages: batch flushing TLB")
      Signed-off-by: default avatar"Huang, Ying" <ying.huang@intel.com>
      Reported-by: default avatarkernel test robot <yujie.liu@intel.com>
      Reviewed-by: default avatarNadav Amit <namit@vmware.com>
      Reviewed-by: default avatarXin Hao <xhao@linux.alibaba.com>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
      Cc: David Hildenbrand <david@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4d4b6d66
    • Christian Brauner's avatar
      shmem: restrict noswap option to initial user namespace · 01106e14
      Christian Brauner authored
      Prevent tmpfs instances mounted in an unprivileged namespaces from evading
      accounting of locked memory by using the "noswap" mount option.
      
      Link: https://lkml.kernel.org/r/20230420-faxen-advokat-40abb4c1a152@brauner
      
      
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      Reported-by: default avatarHugh Dickins <hughd@google.com>
        Link: https://lore.kernel.org/lkml/79eae9fe-7818-a65c-89c6-138b55d609a@google.com
      
      
      Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Cc: Adam Manzanares <a.manzanares@samsung.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
      Cc: Pankaj Raghav <p.raghav@samsung.com>
      Cc: Yosry Ahmed <yosryahmed@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      01106e14
    • Hugh Dickins's avatar
      mm/khugepaged: fix conflicting mods to collapse_file() · 0175ab61
      Hugh Dickins authored
      Inserting Ivan Orlov's syzbot fix commit 2ce0bdfe
      ("mm: khugepaged: fix kernel BUG in hpage_collapse_scan_file()")
      ahead of Jiaqi Yan's and David Stevens's commits
      12904d95 ("mm/khugepaged: recover from poisoned file-backed memory")
      cae106dd ("mm/khugepaged: refactor collapse_file control flow")
      ac492b9c ("mm/khugepaged: skip shmem with userfaultfd")
      (all of which restructure collapse_file()) did not work out well.
      
      xfstests generic/086 on huge tmpfs (with accelerated khugepaged) freezes
      (if not on the first attempt, then the 2nd or 3rd) in find_lock_entries()
      while doing drop_caches: the file's xarray seems to have been corrupted,
      with find_get_entry() returning nonsense which makes no progress.
      
      Bisection led to ac492b9c; and diff against earlier working linux-next
      suggested that it's probably down to an errant xas_store(), which does not
      belong with the later changes (and nor does the positioning of warnings). 
      The later changes look as if they fix the syzbot issue independently.
      
      Remove most of what's left of 2ce0bdfe: just leave one WARN_ON_ONCE
      (xas_error) after the final xas_store() of the multi-index entry.
      
      Link: https://lkml.kernel.org/r/b6c881-c352-bb91-85a8-febeb09dfd71@google.com
      
      
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Cc: David Stevens <stevensd@chromium.org>
      Cc: Ivan Orlov <ivan.orlov0322@gmail.com>
      Cc: Jiaqi Yan <jiaqiyan@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      0175ab61
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · cec24b8b
      Linus Torvalds authored
      Pull char/misc drivers updates from Greg KH:
       "Here is the "big" set of char/misc and other driver subsystems for
        6.4-rc1.
      
        It's pretty big, but due to the removal of pcmcia drivers, almost
        breaks even for number of lines added vs. removed, a nice change.
      
        Included in here are:
      
         - removal of unused PCMCIA drivers (finally!)
      
         - Interconnect driver updates and additions
      
         - Lots of IIO driver updates and additions
      
         - MHI driver updates
      
         - Coresight driver updates
      
         - NVMEM driver updates, which required some OF updates
      
         - W1 driver updates and a new maintainer to manage the subsystem
      
         - FPGA driver updates
      
         - New driver subsystem, CDX, for AMD systems
      
         - lots of other small driver updates and additions
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (196 ...
      cec24b8b
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 556eb8b7
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the large set of driver core changes for 6.4-rc1.
      
        Once again, a busy development cycle, with lots of changes happening
        in the driver core in the quest to be able to move "struct bus" and
        "struct class" into read-only memory, a task now complete with these
        changes.
      
        This will make the future rust interactions with the driver core more
        "provably correct" as well as providing more obvious lifetime rules
        for all busses and classes in the kernel.
      
        The changes required for this did touch many individual classes and
        busses as many callbacks were changed to take const * parameters
        instead. All of these changes have been submitted to the various
        subsystem maintainers, giving them plenty of time to review, and most
        of them actually did so.
      
        Other than those changes, included in here are a small set of other
        things:
      
         - kobject logging imp...
      556eb8b7
    • Linus Torvalds's avatar
      Merge tag 'staging-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 97b2ff29
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the large set of staging driver updates for 6.4-rc1. Once
        again, we removed more code than was added, a nice trend.
      
        It was a calm cycle, mostly all just small coding style cleanups,
        included in here are:
      
         - removal of the greybus loopback testing tools, userspace code that
           didn't belong in a driver subdirectory and was causing problems for
           some build systems
      
         - platform remove callback cleanups
      
         - rtl8192e huge cleanups
      
         - other small staging driver cleanups.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (185 commits)
        staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
        staging: rtl8192e: Remove unchanged variables bfsync_processing and more
        staging: rtl8192e: Remove unchanged variable frame_sync_monitor
        staging: rtl8192e: Remove unchanged variable chan_forced
        staging: rtl8192e: Remove set to true while true of bfirst_after_down
        staging: rtl8192e: Remove second initialization of bActuallySet
        staging: rtl8192e: Remove unused macro RT_SET_PS_LEVEL
        staging: rtl8192e: Remove unused function rtl92e_disable_nic
        staging: rtl8192e: Remove unchanged variable RegRfPsLevel
        staging: rtl8172: Add blank lines after declarations
        staging: rtl8192e: Remove unused variable RF_Type
        staging: rtl8192e: Remove one of two checks for hardware RTL8192SE
        staging: rtl8192e: Remove unused function _rtl92e_dm_init_wa_broadcom_iot
        staging: rtl8192e: Remove macro IS_HARDWARE_TYPE_8192SE
        staging: greybus: drop loopback test files
        staging: rtl8192e: Add blank lines after declarations
        staging: rtl8192e: avoid CamelCase <dot11RSNAStatsCCMPDecryptErrors>
        staging: rtl8192e: avoid CamelCase <dot11RSNAStatsCCMPReplays>
        staging: rtl8192e: avoid CamelCase <dot11RSNAStatsCCMPFormatErrors>
        staging: rtl8192e: fix alignment to match open parenthesis
        ...
      97b2ff29
    • Linus Torvalds's avatar
      Merge tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · b39667ab
      Linus Torvalds authored
      Pull tty / serial updates from Greg KH:
       "Here is the big set of tty/serial driver updates for 6.4-rc1.
      
        Nothing major, just lots of tiny, constant, forward development. This
        includes:
      
         - obligatory n_gsm updates and feature additions
      
         - 8250_em driver updates
      
         - sh-sci driver updates
      
         - dts cleanups and updates
      
         - general cleanups and improvements by Ilpo and Jiri
      
         - other small serial driver core fixes and driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (87 commits)
        n_gsm: Use array_index_nospec() with index that comes from userspace
        tty: vt: drop checks for undefined VT_SINGLE_DRIVER
        tty: vt: distribute EXPORT_SYMBOL()
        tty: vt: simplify some cases in tioclinux()
        tty: vt: reformat tioclinux()
        tty: serial: sh-sci: Fix end of transmission on SCI
        tty: serial: sh-sci: Add support for tx end interrupt handling
        tty: serial: sh-sci: Fix TE setting on SCI IP
        tty: serial: sh-sci: Add RZ/G2L SCIFA DMA rx support
        tty: serial: sh-sci: Add RZ/G2L SCIFA DMA tx support
        serial: max310x: fix IO data corruption in batched operations
        serial: core: Disable uart_start() on uart_remove_one_port()
        serial: 8250: Reinit port->pm on port specific driver unbind
        serial: 8250: Add missing wakeup event reporting
        tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
        tty: serial: fsl_lpuart: adjust buffer length to the intended size
        serial: fix TIOCSRS485 locking
        serial: make SiFive serial drivers depend on ARCH_ symbols
        tty: synclink_gt: don't allocate and pass dummy flags
        tty: serial: simplify qcom_geni_serial_send_chunk_fifo()
        ...
      b39667ab
    • Linus Torvalds's avatar
      Merge tag 'usb-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 4010e62b
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the large set of USB and Thunderbolt changes for 6.4-rc1.
      
        The "biggest" thing in here is the removal of two obsolete drivers,
        u132-hcd and ftdi-elan, making this a net-removal of code overall.
      
        Other than the driver removals, included in here are:
      
         - Thunderbolt updates for new hardware and features
      
         - xhci driver updates and fixes
      
         - dwc3 driver updates and fixes
      
         - gadget core and driver updates and features added
      
         - mtu3 driver updates
      
         - dwc2 driver fixes and updates
      
         - usb-serial driver updates
      
         - typec driver updates and fixes
      
         - platform remove callback changes
      
         - dts updates and conversions
      
         - other small changes
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'usb-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (177 commits)
        usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
        usb: dwc3: gadget: Execute gadget stop after halting the controller
        media: radio-shark: Add endpoint checks
        USB: sisusbvga: Add endpoint checks
        USB: core: Add routines for endpoint checks in old drivers
        usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive
        dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
        usb: dwc3: core: add support for disabling High-speed park mode
        dt-bindings: usb: ci-hdrc-usb2: allow multiple PHYs
        usb: mtu3: add optional clock xhci_ck and frmcnt_ck
        dt-bindings: usb: mtu3: add two optional clocks
        usb: mtu3: expose role-switch control to userspace
        usb: mtu3: unlock @mtu->lock just before giving back request
        usb: mtu3: fix kernel panic at qmu transfer done irq handler
        usb: mtu3: use boolean return value
        usb: mtu3: give back request when rx error happens
        usb: chipidea: fix missing goto in `ci_hdrc_probe`
        usb: gadget: udc: core: Prevent redundant calls to pullup
        usb: gadget: udc: core: Invoke usb_gadget_connect only when started
        usb: typec: ucsi: don't print PPM init deferred errors
        ...
      4010e62b
    • Linus Torvalds's avatar
      Merge tag 'firewire-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · b02847fc
      Linus Torvalds authored
      Pull firewire updates from Takashi Sakamoto:
       "The pull request includes a few changes, Its main purpose is to
        prepare for my future work by taking over maintainership from Stefan
        Richter. I have plans to work on several items; e.g. packet processing
        in workqueue context instead of tasklet.
      
        As you may be aware, the IEEE 1394 technology is outdated. However, we
        still have users. It is better to ensure a smooth transition for the
        users to shift to other categories of devices"
      
      * tag 'firewire-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: init_ohci1394_dma: use correct function names in comments
        MAINTAINERS: replace maintainer of FireWire subsystem
      b02847fc
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023042601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 34da76dc
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - import a bunch of HID selftests from out-of-tree hid-tools project
         (Benjamin Tissoires)
      
       - drastically reducing Bluetooth disconnects on hid-nintendo driven
         devices (Daniel J. Ogorchock)
      
       - lazy initialization of battery interfaces in wacom driver (Jason
         Gerecke)
      
       - generic support for all Kye tablets (David Yang)
      
       - proper rumble queue overrun handling in hid-nintendo (Daniel J.
         Ogorchock)
      
       - support for ADC measurement in logitech-hidpp driver (Bastien Nocera)
      
       - reset GPIO support in i2c-hid (Hans de Goede)
      
       - improved handling of generic "Digitizer" usage (Jason Gerecke)
      
       - support for KEY_CAMERA_FOCUS (Feng Qi)
      
       - quirks for Apple Geyser 3 and Apple Geyser 4 (Alex Henrie)
      
       - assorted functional fixes and device ID additions
      
      * tag 'for-linus-2023042601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (54 commits)
        HID: amd_sfh: Fix max supported HID devices
        HID: wacom: generic: Set battery quirk only when we see battery data
        HID: wacom: Lazy-init batteries
        HID: Ignore battery for ELAN touchscreen on ROG Flow X13 GV301RA
        HID: asus: explicitly include linux/leds.h
        HID: lg-g15: explicitly include linux/leds.h
        HID: steelseries: explicitly include linux/leds.h
        HID: apple: Set the tilde quirk flag on the Geyser 3
        HID: apple: explicitly include linux/leds.h
        HID: mcp2221: fix get and get_direction for gpio
        HID: mcp2221: fix report layout for gpio get
        HID: wacom: Set a default resolution for older tablets
        HID: i2c-hid-of: Add reset GPIO support to i2c-hid-of
        HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms
        HID: i2c-hid-of: Consistenly use dev local variable in probe()
        HID: kye: Fix rdesc for kye tablets
        HID: amd_sfh: Support for additional light sensor
        HID: amd_sfh: Handle "no sensors" enabled for SFH1.1
        HID: amd_sfh: Increase sensor command timeout for SFH1.1
        HID: amd_sfh: Correct the stop all command
        ...
      34da76dc
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 725a345b
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
       "Nothing really exiting in here.
      
        The majority of lines changed is due to Uwe's preparation patches to
        change the return value of the .remove() callback to void.
      
        Summary:
      
         - vt_buffer.h: Fix build on alpha (Randy Dunlap)
      
         - mmp: Clock handling fix (Christophe JAILLET)
      
         - 68328fb, ps3fb, vfb: Init .owner field of struct fb_ops (Thomas
           Zimmermann)
      
         - fbdev: cg14: Convert to platform remove callback returning void
      
         - Preparation patches to convert drivers to return void in .remove()
           callback (Uwe Kleine-König)
      
         - Drop Paul Mackerras as rage128 maintainer"
      
      * tag 'fbdev-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (51 commits)
        MAINTAINERS: Remove rage128 framebuffer driver maintainer
        fbdev: vfb: Init owner field of struct fb_ops
        fbdev: ps3fb: Init owner field of struct fb_ops
        fbdev: 68328fb: Init owner field of struct fb_ops
        fbdev: mmp: Fix deferred clk handling in mmphw_probe()
        linux/vt_buffer.h: allow either builtin or modular for macros
        fbdev: xilinxfb: Convert to platform remove callback returning void
        fbdev: wmt_ge_rops: Convert to platform remove callback returning void
        fbdev: wm8505fb: Convert to platform remove callback returning void
        fbdev: vt8500lcdfb: Convert to platform remove callback returning void
        fbdev: via: Convert to platform remove callback returning void
        fbdev: vga16fb: Convert to platform remove callback returning void
        fbdev: vfb: Convert to platform remove callback returning void
        fbdev: vesafb: Convert to platform remove callback returning void
        fbdev: uvesafb: Convert to platform remove callback returning void
        fbdev: tcx: Convert to platform remove callback returning void
        fbdev: sm501fb: Convert to platform remove callback returning void
        fbdev: simplefb: Convert to platform remove callback returning void
        fbdev: sh_mobile_lcdcfb: Convert to platform remove callback returning void
        fbdev: sh7760fb: Convert to platform remove callback returning void
        ...
      725a345b
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 89555eeb
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Mostly fixes for DTs or DT handling this time. And a few driver
        bugfixes"
      
      * tag 'i2c-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (28 commits)
        i2c: xiic: xiic_xfer(): Fix runtime PM leak on error path
        i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
        i2c: omap: Improve error reporting for problems during .remove()
        i2c: cadence: Add reset controller support
        dt-bindings: i2c: cadence: Document `resets` property
        i2c: mediatek: add support for MT7981 SoC
        dt-bindings: i2c: i2c-mt65xx: add MediaTek MT7981 SoC
        dt-bindings: i2c: Drop unneeded quotes
        i2c: brcmstb: use devm_platform_ioremap_resource_byname()
        i2c: cadence: Detect maximum transfer size
        i2c: cadence: Allow to specify the FIFO depth
        dt-bindings: i2c: cadence: Document `fifo-depth` property
        i2c: xiic: Use devm_platform_get_and_ioremap_resource()
        i2c: mpc: Use i2c-scl-clk-low-timeout-us i2c property
        i2c: mpc: Use of_property_read_u32 instead of of_get_property
        dt-bindings: i2c: mpc: Mark "fsl,timeout" as deprecated
        i2c: xiic: hide OF related data for COMPILE_TEST
        i2c: synquacer: mark OF related data as maybe unused
        dt-bindings: i2c: i2c-mt65xx: Add compatible for MT6795 Helio X10
        i2c: imx: Simplify using devm_clk_get_enabled()
        ...
      89555eeb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.4-1' of https://github.com/cminyard/linux-ipmi · d91f6a73
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Minor bug fixes for the IPMI driver
      
        There was a bug in the SSIF driver where in certain conditions it
        could stop working.
      
        Outside of that: spelling fixes, removing some dead code, re-adding a
        missing statistic increment, and removal of register_sysctl_table()"
      
      * tag 'for-linus-6.4-1' of https://github.com/cminyard/linux-ipmi:
        ipmi:ssif: Drop if blocks with always false condition
        ipmi: fix SSIF not responding under certain cond.
        ipmi:ssif: Add send_retries increment
        char:ipmi:Fix spelling mistake "asychronously" -> "asynchronously"
        ipmi: simplify sysctl registration
        ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
      d91f6a73
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · fc2e58b8
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly standard release for SPI with the exception of a change to
        the API for specifying chip selects done in preparation for supporting
        devices with more than one chip select, this required some mechanical
        changes throughout the tree which have been cooking in -next happily
        for a while.
      
        There's also a new API to allow us to support TPM chips on half duplex
        controllers.
      
        Summary:
      
         - Refactoring in preparation for supporting multiple chip selects for
           a single device, needed by some flash devices, which required a
           change in the SPI device API visible throughout the tree
      
         - Support for hardware assisted interaction with SPI TPMs on half
           duplex controllers, implemented on nVidia Tedra210 QuadSPI
      
         - Optimisation for large transfers on fsl-cpm devices
      
         - Cleanups around device property use which fix some sisues with
           fwnode
      
         - Use of both void r...
      fc2e58b8
    • Linus Torvalds's avatar
      Merge tag 'sound-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 1c15ca4e
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "At this time, it's an interesting mixture of changes for both old and
        new stuff. Majority of changes are about ASoC (lots of systematic
        changes for converting remove callbacks to void, and cleanups), while
        we got the fixes and the enhancements of very old PCI cards, too.
      
        Here are some highlights:
      
        ALSA/ASoC Core:
         - Continued effort of more ASoC core cleanups
         - Minor improvements for XRUN handling in indirect PCM helpers
         - Code refactoring of PCM core code
      
        ASoC:
         - Continued feature and simplification work on SOF, including
           addition of a no-DSP mode for bringup, HDA MLink and extensions to
           the IPC4 protocol
         - Hibernation support for CS35L45
         - More DT binding conversions
         - Support for Cirrus Logic CS35L56, Freescale QMC, Maxim MAX98363,
           nVidia systems with MAX9809x and RT5631, Realtek RT712, Renesas
           R-Car Gen4, Rockchip RK3588 an...
      1c15ca4e
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 34b62f18
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Resource management:
      
         - Add pci_dev_for_each_resource() and pci_bus_for_each_resource()
           iterators
      
        PCIe native device hotplug:
      
         - Fix AB-BA deadlock between reset_lock and device_lock
      
        Power management:
      
         - Wait longer for devices to become ready after resume (as we do for
           reset) to accommodate Intel Titan Ridge xHCI devices
      
         - Extend D3hot delay for NVIDIA HDA controllers to avoid
           unrecoverable devices after a bus reset
      
        Error handling:
      
         - Clear PCIe Device Status after EDR since generic error recovery now
           only clears it when AER is native
      
        ASPM:
      
         - Work around Chromebook firmware defect that clobbers Capability
           list (including ASPM L1 PM Substates Cap) when returning from
           D3cold to D0
      
        Freescale i.MX6 PCIe controller driver:
      
         - Install imprecise external abort handler only when DT indicates
           PCIe support
      
        Freescale ...
      34b62f18
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · cb6fe2ce
      Linus Torvalds authored
      Pull more devicetree updates from Rob Herring:
      
       - First part of DT header detangling dropping cpu.h from of_device.h
         and replacing some includes with forward declarations. A handful of
         drivers needed some adjustment to their includes as a result.
      
       - Refactor of_device.h to be used by bus drivers rather than various
         device drivers. This moves non-bus related functions out of
         of_device.h. The end goal is for of_platform.h and of_device.h to
         stop including each other.
      
       - Refactor open coded parsing of "ranges" in some bus drivers to use DT
         address parsing functions
      
       - Add some new address parsing functions of_property_read_reg(),
         of_range_count(), and of_range_to_resource() in preparation to
         convert more open coded parsing of DT addresses to use them.
      
       - Treewide clean-ups to use of_property_read_bool() and
         of_property_present() as appropriate. The ones here are the ones that
         didn't...
      cb6fe2ce