1. 04 Jan, 2024 5 commits
    • Will Deacon's avatar
      Merge branch 'for-next/lpa2-prep' into for-next/core · ccaeeec5
      Will Deacon authored
      * for-next/lpa2-prep:
        arm64: mm: get rid of kimage_vaddr global variable
        arm64: mm: Take potential load offset into account when KASLR is off
        arm64: kernel: Disable latent_entropy GCC plugin in early C runtime
        arm64: Add ARM64_HAS_LPA2 CPU capability
        arm64/mm: Add FEAT_LPA2 specific ID_AA64MMFR0.TGRAN[2]
        arm64/mm: Update tlb invalidation routines for FEAT_LPA2
        arm64/mm: Add lpa2_is_enabled() kvm_lpa2_is_enabled() stubs
        arm64/mm: Modify range-based tlbi to decrement scale
      ccaeeec5
    • Will Deacon's avatar
      Merge branch 'for-next/kbuild' into for-next/core · 88619527
      Will Deacon authored
      * for-next/kbuild:
        efi/libstub: zboot: do not use $(shell ...) in cmd_copy_and_pad
        arm64: properly install vmlinuz.efi
        arm64: replace <asm-generic/export.h> with <linux/export.h>
        arm64: vdso32: rename 32-bit debug vdso to vdso32.so.dbg
      88619527
    • Will Deacon's avatar
      Merge branch 'for-next/fpsimd' into for-next/core · 79eb42b2
      Will Deacon authored
      * for-next/fpsimd:
        arm64: fpsimd: Implement lazy restore for kernel mode FPSIMD
        arm64: fpsimd: Preserve/restore kernel mode NEON at context switch
        arm64: fpsimd: Drop unneeded 'busy' flag
      79eb42b2
    • Will Deacon's avatar
      Merge branch 'for-next/early-idreg-overrides' into for-next/core · e90a8a21
      Will Deacon authored
      * for-next/early-idreg-overrides:
        arm64/kernel: Move 'nokaslr' parsing out of early idreg code
        arm64: idreg-override: Avoid kstrtou64() to parse a single hex digit
        arm64: idreg-override: Avoid sprintf() for simple string concatenation
        arm64: idreg-override: avoid strlen() to check for empty strings
        arm64: idreg-override: Avoid parameq() and parameqn()
        arm64: idreg-override: Prepare for place relative reloc patching
        arm64: idreg-override: Omit non-NULL checks for override pointer
      e90a8a21
    • Will Deacon's avatar
      Merge branch 'for-next/cpufeature' into for-next/core · 3f35db4e
      Will Deacon authored
      * for-next/cpufeature:
        arm64: Align boot cpucap handling with system cpucap handling
        arm64: Cleanup system cpucap handling
        arm64: Kconfig: drop KAISER reference from KPTI option description
        arm64: mm: Only map KPTI trampoline if it is going to be used
        arm64: Get rid of ARM64_HAS_NO_HW_PREFETCH
      3f35db4e
  2. 19 Dec, 2023 1 commit
    • Masahiro Yamada's avatar
      efi/libstub: zboot: do not use $(shell ...) in cmd_copy_and_pad · 97ba4416
      Masahiro Yamada authored
      You do not need to use $(shell ...) in recipe lines, as they are already
      executed in a shell. An alternative solution is $$(...), which is an
      escaped sequence of the shell's command substituion, $(...).
      
      For this case, there is a reason to avoid $(shell ...).
      
      Kbuild detects command changes by using the if_changed macro, which
      compares the previous command recorded in .*.cmd with the current
      command from Makefile. If they differ, Kbuild re-runs the build rule.
      
      To diff the commands, Make must expand $(shell ...) first. It means that
      hexdump is executed every time, even when nothing needs rebuilding. If
      Kbuild determines that vmlinux.bin needs rebuilding, hexdump will be
      executed again to evaluate the 'cmd' macro, one more time to really
      build vmlinux.bin, and finally yet again to record the expanded command
      into .*.cmd.
      
      Replace $(shell ...) with $$(...) to avoid multiple, unnecessay shell
      evaluations. Since Make is agnostic about the shell code, $(...), the
      if_changed macro compares the string "$(hexdump -s16 -n4 ...)" verbatim,
      so hexdump is run only for building vmlinux.bin.
      
      For the same reason, $(shell ...) in EFI_ZBOOT_OBJCOPY_FLAGS should be
      eliminated.
      
      While I was here, I replaced '&&' with ';' because a command for
      if_changed is executed with 'set -e'.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Link: https://lore.kernel.org/r/20231218080127.907460-1-masahiroy@kernel.orgSigned-off-by: default avatarWill Deacon <will@kernel.org>
      97ba4416
  3. 17 Dec, 2023 1 commit
  4. 13 Dec, 2023 2 commits
    • Mark Rutland's avatar
      arm64: Align boot cpucap handling with system cpucap handling · eb15d707
      Mark Rutland authored
      Currently the detection+enablement of boot cpucaps is separate from the
      patching of boot cpucap alternatives, which means there's a period where
      cpus_have_cap($CAP) and alternative_has_cap($CAP) may be mismatched.
      
      It would be preferable to manage the boot cpucaps in the same way as the
      system cpucaps, both for clarity and to minimize the risk of accidental
      usage of code relying upon an alternative which has not yet been
      patched.
      
      This patch aligns the handling of boot cpucaps with the handling of
      system cpucaps:
      
      * The existing setup_boot_cpu_capabilities() function is moved to be
        closer to the setup_system_capabilities() and setup_system_features()
        functions so that they're more clearly related and more likely to be
        updated together in future.
      
      * The patching of boot cpucap alternatives is moved into
        setup_boot_cpu_capabilities(), immediately after boot cpucaps are
        detected and enabled.
      
      * A new setup_boot_cpu_features() function is added to mirror
        setup_system_features(); this handles initialization of cpucap data
        structures and calls setup_boot_cpu_capabilities(). This makes
        init_cpu_features() a closer mirror to update_cpu_features(), and
        makes smp_prepare_boot_cpu() a closer mirror to smp_cpus_done().
      
      Importantly, while these changes alter the structure of the code, they
      retain the existing order of calls to:
      
        init_cpu_features(); // prefix initializing feature regs
        init_cpucap_indirect_list();
        detect_system_supports_pseudo_nmi();
        update_cpu_capabilities(SCOPE_BOOT_CPU | SCOPE_LOCAL_CPU);
        enable_cpu_capabilities(SCOPE_BOOT_CPU);
        apply_boot_alternatives();
      
      ... and hence there should be no functional change as a result of this
      patch; this is purely a structural cleanup.
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20231212170910.3745497-3-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      eb15d707
    • Mark Rutland's avatar
      arm64: Cleanup system cpucap handling · 63a2d92e
      Mark Rutland authored
      Recent changes to remove cpus_have_const_cap() introduced new users of
      cpus_have_cap() in the period between detecting system cpucaps and
      patching alternatives. It would be preferable to defer these until after
      the relevant cpucaps have been patched so that these can use the usual
      feature check helper functions, which is clearer and has less risk of
      accidental usage of code relying upon an alternative which has not yet
      been patched.
      
      This patch reworks the system-wide cpucap detection and patching to
      minimize this transient period:
      
      * The detection, enablement, and patching of system cpucaps is moved
        into a new setup_system_capabilities() function so that these can be
        grouped together more clearly, with no other functions called in the
        period between detection and patching. This is called from
        setup_system_features() before the subsequent checks that depend on
        the cpucaps.
      
        The logging of TTBR0 PAN and cpucaps with a mask is also moved here to
        keep these as close as possible to update_cpu_capabilities().
      
        At the same time, comments are corrected and improved to make the
        intent clearer.
      
      * As hyp_mode_check() only tests system register values (not hwcaps) and
        must be called prior to patching, the call to hyp_mode_check() is
        moved before the call to setup_system_features().
      
      * In setup_system_features(), the use of system_uses_ttbr0_pan() is
        restored, now that this occurs after alternatives are patched. This is
        a partial revert of commit:
      
          53d62e99 ("arm64: Avoid cpus_have_const_cap() for ARM64_HAS_PAN")
      
      * In sve_setup() and sme_setup(), the use of system_supports_sve() and
        system_supports_sme() respectively are restored, now that these occur
        after alternatives are patched. This is a partial revert of commit:
      
          a76521d1 ("arm64: Avoid cpus_have_const_cap() for ARM64_{SVE,SME,SME2,FA64}")
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20231212170910.3745497-2-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      63a2d92e
  5. 12 Dec, 2023 13 commits
  6. 11 Dec, 2023 2 commits
  7. 05 Dec, 2023 3 commits
  8. 27 Nov, 2023 7 commits
    • Ryan Roberts's avatar
      arm64: Add ARM64_HAS_LPA2 CPU capability · b1366d21
      Ryan Roberts authored
      Expose FEAT_LPA2 as a capability so that we can take advantage of
      alternatives patching in the hypervisor.
      
      Although FEAT_LPA2 presence is advertised separately for stage1 and
      stage2, the expectation is that in practice both stages will either
      support or not support it. Therefore, we combine both into a single
      capability, allowing us to simplify the implementation. KVM requires
      support in both stages in order to use LPA2 since the same library is
      used for hyp stage 1 and guest stage 2 pgtables.
      Reviewed-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Signed-off-by: default avatarRyan Roberts <ryan.roberts@arm.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20231127111737.1897081-6-ryan.roberts@arm.com
      b1366d21
    • Anshuman Khandual's avatar
      arm64/mm: Add FEAT_LPA2 specific ID_AA64MMFR0.TGRAN[2] · e477c8c4
      Anshuman Khandual authored
      PAGE_SIZE support is tested against possible minimum and maximum values for
      its respective ID_AA64MMFR0.TGRAN field, depending on whether it is signed
      or unsigned. But then FEAT_LPA2 implementation needs to be validated for 4K
      and 16K page sizes via feature specific ID_AA64MMFR0.TGRAN values. Hence it
      adds FEAT_LPA2 specific ID_AA64MMFR0.TGRAN[2] values per ARM ARM (0487G.A).
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
      Reviewed-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Signed-off-by: default avatarRyan Roberts <ryan.roberts@arm.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20231127111737.1897081-5-ryan.roberts@arm.com
      e477c8c4
    • Ryan Roberts's avatar
      arm64/mm: Update tlb invalidation routines for FEAT_LPA2 · c910f2b6
      Ryan Roberts authored
      FEAT_LPA2 impacts tlb invalidation in 2 ways; Firstly, the TTL field in
      the non-range tlbi instructions can now validly take a 0 value as a
      level hint for the 4KB granule (this is due to the extra level of
      translation) - previously TTL=0b0100 meant no hint and was treated as
      0b0000. Secondly, The BADDR field of the range-based tlbi instructions
      is specified in 64KB units when LPA2 is in use (TCR.DS=1), whereas it is
      in page units otherwise. Changes are required for tlbi to continue to
      operate correctly when LPA2 is in use.
      
      Solve the first problem by always adding the level hint if the level is
      between [0, 3] (previously anything other than 0 was hinted, which
      breaks in the new level -1 case from kvm). When running on non-LPA2 HW,
      0 is still safe to hint as the HW will fall back to non-hinted. While we
      are at it, we replace the notion of 0 being the non-hinted sentinel with
      a macro, TLBI_TTL_UNKNOWN. This means callers won't need updating
      if/when translation depth increases in future.
      
      The second issue is more complex: When LPA2 is in use, use the non-range
      tlbi instructions to forward align to a 64KB boundary first, then use
      range-based tlbi from there on, until we have either invalidated all
      pages or we have a single page remaining. If the latter, that is done
      with non-range tlbi. We determine whether LPA2 is in use based on
      lpa2_is_enabled() (for kernel calls) or kvm_lpa2_is_enabled() (for kvm
      calls).
      Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Reviewed-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Signed-off-by: default avatarRyan Roberts <ryan.roberts@arm.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20231127111737.1897081-4-ryan.roberts@arm.com
      c910f2b6
    • Ryan Roberts's avatar
      arm64/mm: Add lpa2_is_enabled() kvm_lpa2_is_enabled() stubs · 936a4ec2
      Ryan Roberts authored
      Add stub functions which is initially always return false. These provide
      the hooks that we need to update the range-based TLBI routines, whose
      operands are encoded differently depending on whether lpa2 is enabled or
      not.
      
      The kernel and kvm will enable the use of lpa2 asynchronously in future,
      and part of that enablement will involve fleshing out their respective
      hook to advertise when it is using lpa2.
      
      Since the kernel's decision to use lpa2 relies on more than just whether
      the HW supports the feature, it can't just use the same static key as
      kvm. This is another reason to use separate functions. lpa2_is_enabled()
      is already implemented as part of Ard's kernel lpa2 series. Since kvm
      will make its decision solely based on HW support, kvm_lpa2_is_enabled()
      will be defined as system_supports_lpa2() once kvm starts using lpa2.
      Reviewed-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Signed-off-by: default avatarRyan Roberts <ryan.roberts@arm.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20231127111737.1897081-3-ryan.roberts@arm.com
      936a4ec2
    • Ryan Roberts's avatar
      arm64/mm: Modify range-based tlbi to decrement scale · e2768b79
      Ryan Roberts authored
      In preparation for adding support for LPA2 to the tlb invalidation
      routines, modify the algorithm used by range-based tlbi to start at the
      highest 'scale' and decrement instead of starting at the lowest 'scale'
      and incrementing. This new approach makes it possible to maintain 64K
      alignment as we work through the range, until the last op (at scale=0).
      This is required when LPA2 is enabled. (This part will be added in a
      subsequent commit).
      
      This change is separated into its own patch because it will also impact
      non-LPA2 systems, and I want to make it easy to bisect in case it leads
      to performance regression (see below for benchmarks that suggest this
      should not be a problem).
      
      The original commit (d1d3aa98 "arm64: tlb: Use the TLBI RANGE feature in
      arm64") stated this as the reason for _incrementing_ scale:
      
        However, in most scenarios, the pages = 1 when flush_tlb_range() is
        called. Start from scale = 3 or other proper value (such as scale
        =ilog2(pages)), will incur extra overhead. So increase 'scale' from 0
        to maximum.
      
      But pages=1 is already special cased by the non-range invalidation path,
      which will take care of it the first time through the loop (both in the
      original commit and in my change), so I don't think switching to
      decrement scale should have any extra performance impact after all.
      
      Indeed benchmarking kernel compilation, a TLBI-heavy workload, suggests
      that this new approach actually _improves_ performance slightly (using a
      virtual machine on Apple M2):
      
      Table shows time to execute kernel compilation workload with 8 jobs,
      relative to baseline without this patch (more negative number is
      bigger speedup). Repeated 9 times across 3 system reboots:
      
      | counter   |       mean |     stdev |
      |:----------|-----------:|----------:|
      | real-time |      -0.6% |      0.0% |
      | kern-time |      -1.6% |      0.5% |
      | user-time |      -0.4% |      0.1% |
      Reviewed-by: default avatarOliver Upton <oliver.upton@linux.dev>
      Signed-off-by: default avatarRyan Roberts <ryan.roberts@arm.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20231127111737.1897081-2-ryan.roberts@arm.com
      e2768b79
    • Linus Torvalds's avatar
      Linux 6.7-rc3 · 2cc14f52
      Linus Torvalds authored
      2cc14f52
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 5b2b1173
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt::
       "Eventfs fixes:
      
         - With the usage of simple_recursive_remove() recommended by Al Viro,
           the code should not be calling "d_invalidate()" itself. Doing so is
           causing crashes. The code was calling d_invalidate() on the race of
           trying to look up a file while the parent was being deleted. This
           was detected, and the added dentry was having d_invalidate() called
           on it, but the deletion of the directory was also calling
           d_invalidate() on that same dentry.
      
         - A fix to not free the eventfs_inode (ei) until the last dput() was
           called on its ei->dentry made the ei->dentry exist even after it
           was marked for free by setting the ei->is_freed. But code elsewhere
           still was checking if ei->dentry was NULL if ei->is_freed is set
           and would trigger WARN_ON if that was the case. That's no longer
           true and there should not be any warnings when it is true.
      
         - Use GFP_NOFS for allocations done under eventfs_mutex. The
           eventfs_mutex can be taken on file system reclaim, make sure that
           allocations done under that mutex do not trigger file system
           reclaim.
      
         - Clean up code by moving the taking of inode_lock out of the helper
           functions and into where they are needed, and not use the parameter
           to know to take it or not. It must always be held but some callers
           of the helper function have it taken when they were called.
      
         - Warn if the inode_lock is not held in the helper functions.
      
         - Warn if eventfs_start_creating() is called without a parent. As
           eventfs is underneath tracefs, all files created will have a parent
           (the top one will have a tracefs parent).
      
        Tracing update:
      
         - Add Mathieu Desnoyers as an official reviewer of the tracing subsystem"
      
      * tag 'trace-v6.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        MAINTAINERS: TRACING: Add Mathieu Desnoyers as Reviewer
        eventfs: Make sure that parent->d_inode is locked in creating files/dirs
        eventfs: Do not allow NULL parent to eventfs_start_creating()
        eventfs: Move taking of inode_lock into dcache_dir_open_wrapper()
        eventfs: Use GFP_NOFS for allocation when eventfs_mutex is held
        eventfs: Do not invalidate dentry in create_file/dir_dentry()
        eventfs: Remove expectation that ei->is_freed means ei->dentry == NULL
      5b2b1173
  9. 26 Nov, 2023 6 commits
    • Linus Torvalds's avatar
      Merge tag 'parisc-for-6.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · d2da77f4
      Linus Torvalds authored
      Pull parisc architecture fixes from Helge Deller:
       "This patchset fixes and enforces correct section alignments for the
        ex_table, altinstructions, parisc_unwind, jump_table and bug_table
        which are created by inline assembly.
      
        Due to not being correctly aligned at link & load time they can
        trigger unnecessarily the kernel unaligned exception handler at
        runtime. While at it, I switched the bug table to use relative
        addresses which reduces the size of the table by half on 64-bit.
      
        We still had the ENOSYM and EREMOTERELEASE errno symbols as left-overs
        from HP-UX, which now trigger build-issues with glibc. We can simply
        remove them.
      
        Most of the patches are tagged for stable kernel series.
      
        Summary:
      
         - Drop HP-UX ENOSYM and EREMOTERELEASE return codes to avoid glibc
           build issues
      
         - Fix section alignments for ex_table, altinstructions, parisc unwind
           table, jump_table and bug_table
      
         - Reduce size of bug_table on 64-bit kernel by using relative
           pointers"
      
      * tag 'parisc-for-6.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Reduce size of the bug_table on 64-bit kernel by half
        parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes
        parisc: Use natural CPU alignment for bug_table
        parisc: Ensure 32-bit alignment on parisc unwind section
        parisc: Mark lock_aligned variables 16-byte aligned on SMP
        parisc: Mark jump_table naturally aligned
        parisc: Mark altinstructions read-only and 32-bit aligned
        parisc: Mark ex_table entries 32-bit aligned in uaccess.h
        parisc: Mark ex_table entries 32-bit aligned in assembly.h
      d2da77f4
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2023-11-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4892711a
      Linus Torvalds authored
      Pull x86 microcode fixes from Ingo Molnar:
       "Fix/enhance x86 microcode version reporting: fix the bootup log spam,
        and remove the driver version announcement to avoid version confusion
        when distros backport fixes"
      
      * tag 'x86-urgent-2023-11-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Rework early revisions reporting
        x86/microcode: Remove the driver announcement and version
      4892711a
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2023-11-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e81fe505
      Linus Torvalds authored
      Pull x86 perf event fix from Ingo Molnar:
       "Fix a bug in the Intel hybrid CPUs hardware-capabilities enumeration
        code resulting in non-working events on those platforms"
      
      * tag 'perf-urgent-2023-11-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel: Correct incorrect 'or' operation for PMU capabilities
      e81fe505
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2023-11-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1d0dbc3d
      Linus Torvalds authored
      Pull locking fix from Ingo Molnar:
       "Fix lockdep block chain corruption resulting in KASAN warnings"
      
      * tag 'locking-urgent-2023-11-26' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        lockdep: Fix block chain corruption
      1d0dbc3d
    • Linus Torvalds's avatar
      Merge tag '6.7-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 4515866d
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - use after free fix in releasing multichannel interfaces
      
       - fixes for special file types (report char, block, FIFOs properly when
         created e.g. by NFS to Windows)
      
       - fixes for reporting various special file types and symlinks properly
         when using SMB1
      
      * tag '6.7-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: client: introduce cifs_sfu_make_node()
        smb: client: set correct file type from NFS reparse points
        smb: client: introduce ->parse_reparse_point()
        smb: client: implement ->query_reparse_point() for SMB1
        cifs: fix use after free for iface while disabling secondary channels
      4515866d
    • Linus Torvalds's avatar
      Merge tag 'usb-6.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 090472ed
      Linus Torvalds authored
      Pull USB / PHY / Thunderbolt fixes from Greg KH:
       "Here are a number of reverts, fixes, and new device ids for 6.7-rc3
        for the USB, PHY, and Thunderbolt driver subsystems. Include in here
        are:
      
         - reverts of some PHY drivers that went into 6.7-rc1 that shouldn't
           have been merged yet, the author is reworking them based on review
           comments as they were using older apis that shouldn't be used
           anymore for newer drivers
      
         - small thunderbolt driver fixes for reported issues
      
         - USB driver fixes for a variety of small issues in dwc3, typec,
           xhci, and other smaller drivers.
      
         - new device ids for usb-serial and onboard_usb_hub drivers.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-6.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
        USB: serial: option: add Luat Air72*U series products
        USB: dwc3: qcom: fix ACPI platform device leak
        USB: dwc3: qcom: fix software node leak on probe errors
        USB: dwc3: qcom: fix resource leaks on probe deferral
        USB: dwc3: qcom: simplify wakeup interrupt setup
        USB: dwc3: qcom: fix wakeup after probe deferral
        dt-bindings: usb: qcom,dwc3: fix example wakeup interrupt types
        usb: misc: onboard-hub: add support for Microchip USB5744
        dt-bindings: usb: microchip,usb5744: Add second supply
        usb: misc: ljca: Fix enumeration error on Dell Latitude 9420
        USB: serial: option: add Fibocom L7xx modules
        USB: xhci-plat: fix legacy PHY double init
        usb: typec: tipd: Supply also I2C driver data
        usb: xhci-mtk: fix in-ep's start-split check failure
        usb: dwc3: set the dma max_seg_size
        usb: config: fix iteration issue in 'usb_get_bos_descriptor()'
        usb: dwc3: add missing of_node_put and platform_device_put
        USB: dwc2: write HCINT with INTMASK applied
        usb: misc: ljca: Drop _ADR support to get ljca children devices
        usb: cdnsp: Fix deadlock issue during using NCM gadget
        ...
      090472ed