1. 08 Feb, 2024 9 commits
  2. 07 Feb, 2024 4 commits
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-6.8-2' of... · 547ab8fc
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen:
       "Fix acpi_core_pic[] array overflow, fix earlycon parameter if KASAN
        enabled, disable UBSAN instrumentation for vDSO build, and two Kconfig
        cleanups"
      
      * tag 'loongarch-fixes-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: vDSO: Disable UBSAN instrumentation
        LoongArch: Fix earlycon parameter if KASAN enabled
        LoongArch: Change acpi_core_pic[NR_CPUS] to acpi_core_pic[MAX_CORE_PIC]
        LoongArch: Select HAVE_ARCH_SECCOMP to use the common SECCOMP menu
        LoongArch: Select ARCH_ENABLE_THP_MIGRATION instead of redefining it
      547ab8fc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5c24ba20
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "x86 guest:
      
         - Avoid false positive for check that only matters on AMD processors
      
        x86:
      
         - Give a hint when Win2016 might fail to boot due to XSAVES &&
           !XSAVEC configuration
      
         - Do not allow creating an in-kernel PIT unless an IOAPIC already
           exists
      
        RISC-V:
      
         - Allow ISA extensions that were enabled for bare metal in 6.8 (Zbc,
           scalar and vector crypto, Zfh[min], Zihintntl, Zvfh[min], Zfa)
      
        S390:
      
         - fix CC for successful PQAP instruction
      
         - fix a race when creating a shadow page"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        x86/coco: Define cc_vendor without CONFIG_ARCH_HAS_CC_PLATFORM
        x86/kvm: Fix SEV check in sev_map_percpu_data()
        KVM: x86: Give a hint when Win2016 might fail to boot due to XSAVES erratum
        KVM: x86: Check irqchip mode before create PIT
        KVM: riscv: selftests: Add Zfa extension to get-reg-list test
        RISC-V: KVM: Allow Zfa extension for Guest/VM
        KVM: riscv: selftests: Add Zvfh[min] extensions to get-reg-list test
        RISC-V: KVM: Allow Zvfh[min] extensions for Guest/VM
        KVM: riscv: selftests: Add Zihintntl extension to get-reg-list test
        RISC-V: KVM: Allow Zihintntl extension for Guest/VM
        KVM: riscv: selftests: Add Zfh[min] extensions to get-reg-list test
        RISC-V: KVM: Allow Zfh[min] extensions for Guest/VM
        KVM: riscv: selftests: Add vector crypto extensions to get-reg-list test
        RISC-V: KVM: Allow vector crypto extensions for Guest/VM
        KVM: riscv: selftests: Add scaler crypto extensions to get-reg-list test
        RISC-V: KVM: Allow scalar crypto extensions for Guest/VM
        KVM: riscv: selftests: Add Zbc extension to get-reg-list test
        RISC-V: KVM: Allow Zbc extension for Guest/VM
        KVM: s390: fix cc for successful PQAP
        KVM: s390: vsie: fix race during shadow creation
      5c24ba20
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · c8d80f83
      Linus Torvalds authored
      Pull nfsd fix from Chuck Lever:
      
       - Address a deadlock regression in RELEASE_LOCKOWNER
      
      * tag 'nfsd-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        nfsd: don't take fi_lock in nfsd_break_deleg_cb()
      c8d80f83
    • Linus Torvalds's avatar
      Merge tag 'for-6.8-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6d280f4d
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - two fixes preventing deletion and manual creation of subvolume qgroup
      
       - unify error code returned for unknown send flags
      
       - fix assertion during subvolume creation when anonymous device could
         be allocated by other thread (e.g. due to backref walk)
      
      * tag 'for-6.8-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: do not ASSERT() if the newly created subvolume already got read
        btrfs: forbid deleting live subvol qgroup
        btrfs: forbid creating subvol qgroups
        btrfs: send: return EOPNOTSUPP on unknown flags
      6d280f4d
  3. 06 Feb, 2024 7 commits
    • Nathan Chancellor's avatar
      x86/coco: Define cc_vendor without CONFIG_ARCH_HAS_CC_PLATFORM · e4596477
      Nathan Chancellor authored
      After commit a9ef2774 ("x86/kvm: Fix SEV check in
      sev_map_percpu_data()"), there is a build error when building
      x86_64_defconfig with GCOV using LLVM:
      
        ld.lld: error: undefined symbol: cc_vendor
        >>> referenced by kvm.c
        >>>               arch/x86/kernel/kvm.o:(kvm_smp_prepare_boot_cpu) in archive vmlinux.a
      
      which corresponds to
      
        if (cc_vendor != CC_VENDOR_AMD ||
            !cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT))
                  return;
      
      Without GCOV, clang is able to eliminate the use of cc_vendor because
      cc_platform_has() evaluates to false when CONFIG_ARCH_HAS_CC_PLATFORM is
      not set, meaning that if statement will be true no matter what value
      cc_vendor has.
      
      With GCOV, the instrumentation keeps the use of cc_vendor around for
      code coverage purposes but cc_vendor is only declared, not defined,
      without CONFIG_ARCH_HAS_CC_PLATFORM, leading to the build error above.
      
      Provide a macro definition of cc_vendor when CONFIG_ARCH_HAS_CC_PLATFORM
      is not set with a value of CC_VENDOR_NONE, so that the first condition
      can always be evaluated/eliminated at compile time, avoiding the build
      error altogether. This is very similar to the situation prior to
      commit da86eb96 ("x86/coco: Get rid of accessor functions").
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Acked-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
      Message-Id: <20240202-provide-cc_vendor-without-arch_has_cc_platform-v1-1-09ad5f2a3099@kernel.org>
      Fixes: a9ef2774 ("x86/kvm: Fix SEV check in sev_map_percpu_data()", 2024-01-31)
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e4596477
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-02-05' of https://evilpiepirate.org/git/bcachefs · 99bd3cb0
      Linus Torvalds authored
      Pull bcachefs fixes from Kent Overstreet:
       "Two serious ones here that we'll want to backport to stable: a fix for
        a race in the thread_with_file code, and another locking fixup in the
        subvolume deletion path"
      
      * tag 'bcachefs-2024-02-05' of https://evilpiepirate.org/git/bcachefs:
        bcachefs: time_stats: Check for last_event == 0 when updating freq stats
        bcachefs: install fd later to avoid race with close
        bcachefs: unlock parent dir if entry is not found in subvolume deletion
        bcachefs: Fix build on parisc by avoiding __multi3()
      99bd3cb0
    • Kees Cook's avatar
      LoongArch: vDSO: Disable UBSAN instrumentation · cca5efe7
      Kees Cook authored
      The vDSO executes in userspace, so the kernel's UBSAN should not
      instrument it. Solves these kind of build errors:
      
        loongarch64-linux-ld: arch/loongarch/vdso/vgettimeofday.o: in function `vdso_shift_ns':
        lib/vdso/gettimeofday.c:23:(.text+0x3f8): undefined reference to `__ubsan_handle_shift_out_of_bounds'
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202401310530.lZHCj1Zl-lkp@intel.com/
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: WANG Xuerui <kernel@xen0n.name>
      Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Fangrui Song <maskray@google.com>
      Cc: loongarch@lists.linux.dev
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      cca5efe7
    • Huacai Chen's avatar
      LoongArch: Fix earlycon parameter if KASAN enabled · 639420e9
      Huacai Chen authored
      The earlycon parameter is based on fixmap, and fixmap addresses are not
      supposed to be shadowed by KASAN. So return the kasan_early_shadow_page
      in kasan_mem_to_shadow() if the input address is above FIXADDR_START.
      Otherwise earlycon cannot work after kasan_init().
      
      Cc: stable@vger.kernel.org
      Fixes: 5aa4ac64 ("LoongArch: Add KASAN (Kernel Address Sanitizer) support")
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      639420e9
    • Huacai Chen's avatar
      LoongArch: Change acpi_core_pic[NR_CPUS] to acpi_core_pic[MAX_CORE_PIC] · 4551b305
      Huacai Chen authored
      With default config, the value of NR_CPUS is 64. When HW platform has
      more then 64 cpus, system will crash on these platforms. MAX_CORE_PIC
      is the maximum cpu number in MADT table (max physical number) which can
      exceed the supported maximum cpu number (NR_CPUS, max logical number),
      but kernel should not crash. Kernel should boot cpus with NR_CPUS, let
      the remainder cpus stay in BIOS.
      
      The potential crash reason is that the array acpi_core_pic[NR_CPUS] can
      be overflowed when parsing MADT table, and it is obvious that CORE_PIC
      should be corresponding to physical core rather than logical core, so it
      is better to define the array as acpi_core_pic[MAX_CORE_PIC].
      
      With the patch, system can boot up 64 vcpus with qemu parameter -smp 128,
      otherwise system will crash with the following message.
      
      [    0.000000] CPU 0 Unable to handle kernel paging request at virtual address 0000420000004259, era == 90000000037a5f0c, ra == 90000000037a46ec
      [    0.000000] Oops[#1]:
      [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 6.8.0-rc2+ #192
      [    0.000000] Hardware name: QEMU QEMU Virtual Machine, BIOS unknown 2/2/2022
      [    0.000000] pc 90000000037a5f0c ra 90000000037a46ec tp 9000000003c90000 sp 9000000003c93d60
      [    0.000000] a0 0000000000000019 a1 9000000003d93bc0 a2 0000000000000000 a3 9000000003c93bd8
      [    0.000000] a4 9000000003c93a74 a5 9000000083c93a67 a6 9000000003c938f0 a7 0000000000000005
      [    0.000000] t0 0000420000004201 t1 0000000000000000 t2 0000000000000001 t3 0000000000000001
      [    0.000000] t4 0000000000000003 t5 0000000000000000 t6 0000000000000030 t7 0000000000000063
      [    0.000000] t8 0000000000000014 u0 ffffffffffffffff s9 0000000000000000 s0 9000000003caee98
      [    0.000000] s1 90000000041b0480 s2 9000000003c93da0 s3 9000000003c93d98 s4 9000000003c93d90
      [    0.000000] s5 9000000003caa000 s6 000000000a7fd000 s7 000000000f556b60 s8 000000000e0a4330
      [    0.000000]    ra: 90000000037a46ec platform_init+0x214/0x250
      [    0.000000]   ERA: 90000000037a5f0c efi_runtime_init+0x30/0x94
      [    0.000000]  CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
      [    0.000000]  PRMD: 00000000 (PPLV0 -PIE -PWE)
      [    0.000000]  EUEN: 00000000 (-FPE -SXE -ASXE -BTE)
      [    0.000000]  ECFG: 00070800 (LIE=11 VS=7)
      [    0.000000] ESTAT: 00010000 [PIL] (IS= ECode=1 EsubCode=0)
      [    0.000000]  BADV: 0000420000004259
      [    0.000000]  PRID: 0014c010 (Loongson-64bit, Loongson-3A5000)
      [    0.000000] Modules linked in:
      [    0.000000] Process swapper (pid: 0, threadinfo=(____ptrval____), task=(____ptrval____))
      [    0.000000] Stack : 9000000003c93a14 9000000003800898 90000000041844f8 90000000037a46ec
      [    0.000000]         000000000a7fd000 0000000008290000 0000000000000000 0000000000000000
      [    0.000000]         0000000000000000 0000000000000000 00000000019d8000 000000000f556b60
      [    0.000000]         000000000a7fd000 000000000f556b08 9000000003ca7700 9000000003800000
      [    0.000000]         9000000003c93e50 9000000003800898 9000000003800108 90000000037a484c
      [    0.000000]         000000000e0a4330 000000000f556b60 000000000a7fd000 000000000f556b08
      [    0.000000]         9000000003ca7700 9000000004184000 0000000000200000 000000000e02b018
      [    0.000000]         000000000a7fd000 90000000037a0790 9000000003800108 0000000000000000
      [    0.000000]         0000000000000000 000000000e0a4330 000000000f556b60 000000000a7fd000
      [    0.000000]         000000000f556b08 000000000eaae298 000000000eaa5040 0000000000200000
      [    0.000000]         ...
      [    0.000000] Call Trace:
      [    0.000000] [<90000000037a5f0c>] efi_runtime_init+0x30/0x94
      [    0.000000] [<90000000037a46ec>] platform_init+0x214/0x250
      [    0.000000] [<90000000037a484c>] setup_arch+0x124/0x45c
      [    0.000000] [<90000000037a0790>] start_kernel+0x90/0x670
      [    0.000000] [<900000000378b0d8>] kernel_entry+0xd8/0xdc
      Signed-off-by: default avatarBibo Mao <maobibo@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      4551b305
    • Masahiro Yamada's avatar
      LoongArch: Select HAVE_ARCH_SECCOMP to use the common SECCOMP menu · 6b79ecd0
      Masahiro Yamada authored
      LoongArch missed the refactoring made by commit 282a181b ("seccomp:
      Move config option SECCOMP to arch/Kconfig") because LoongArch was not
      mainlined at that time.
      
      The 'depends on PROC_FS' statement is stale as described in that commit.
      Select HAVE_ARCH_SECCOMP, and remove the duplicated config entry.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      6b79ecd0
    • Masahiro Yamada's avatar
      LoongArch: Select ARCH_ENABLE_THP_MIGRATION instead of redefining it · b3ff2d9c
      Masahiro Yamada authored
      ARCH_ENABLE_THP_MIGRATION is supposed to be selected by arch Kconfig.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      b3ff2d9c
  4. 05 Feb, 2024 3 commits
    • NeilBrown's avatar
      nfsd: don't take fi_lock in nfsd_break_deleg_cb() · 5ea9a7c5
      NeilBrown authored
      A recent change to check_for_locks() changed it to take ->flc_lock while
      holding ->fi_lock.  This creates a lock inversion (reported by lockdep)
      because there is a case where ->fi_lock is taken while holding
      ->flc_lock.
      
      ->flc_lock is held across ->fl_lmops callbacks, and
      nfsd_break_deleg_cb() is one of those and does take ->fi_lock.  However
      it doesn't need to.
      
      Prior to v4.17-rc1~110^2~22 ("nfsd: create a separate lease for each
      delegation") nfsd_break_deleg_cb() would walk the ->fi_delegations list
      and so needed the lock.  Since then it doesn't walk the list and doesn't
      need the lock.
      
      Two actions are performed under the lock.  One is to call
      nfsd_break_one_deleg which calls nfsd4_run_cb().  These doesn't act on
      the nfs4_file at all, so don't need the lock.
      
      The other is to set ->fi_had_conflict which is in the nfs4_file.
      This field is only ever set here (except when initialised to false)
      so there is no possible problem will multiple threads racing when
      setting it.
      
      The field is tested twice in nfs4_set_delegation().  The first test does
      not hold a lock and is documented as an opportunistic optimisation, so
      it doesn't impose any need to hold ->fi_lock while setting
      ->fi_had_conflict.
      
      The second test in nfs4_set_delegation() *is* make under ->fi_lock, so
      removing the locking when ->fi_had_conflict is set could make a change.
      The change could only be interesting if ->fi_had_conflict tested as
      false even though nfsd_break_one_deleg() ran before ->fi_lock was
      unlocked.  i.e. while hash_delegation_locked() was running.
      As hash_delegation_lock() doesn't interact in any way with nfs4_run_cb()
      there can be no importance to this interaction.
      
      So this patch removes the locking from nfsd_break_one_deleg() and moves
      the final test on ->fi_had_conflict out of the locked region to make it
      clear that locking isn't important to the test.  It is still tested
      *after* vfs_setlease() has succeeded.  This might be significant and as
      vfs_setlease() takes ->flc_lock, and nfsd_break_one_deleg() is called
      under ->flc_lock this "after" is a true ordering provided by a spinlock.
      
      Fixes: edcf9725 ("nfsd: fix RELEASE_LOCKOWNER")
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      5ea9a7c5
    • Kent Overstreet's avatar
      bcachefs: time_stats: Check for last_event == 0 when updating freq stats · 7b508b32
      Kent Overstreet authored
      This fixes spurious outliers in the frequency stats.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      7b508b32
    • Mathias Krause's avatar
      bcachefs: install fd later to avoid race with close · dd839f31
      Mathias Krause authored
      Calling fd_install() makes a file reachable for userland, including the
      possibility to close the file descriptor, which leads to calling its
      'release' hook. If that happens before the code had a chance to bump the
      reference of the newly created task struct, the release callback will
      call put_task_struct() too early, leading to the premature destruction
      of the kernel thread.
      
      Avoid that race by calling fd_install() later, after all the setup is
      done.
      
      Fixes: 1c6fdbd8 ("bcachefs: Initial commit")
      Signed-off-by: default avatarMathias Krause <minipli@grsecurity.net>
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      dd839f31
  5. 04 Feb, 2024 10 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc3 · 54be6c6c
      Linus Torvalds authored
      54be6c6c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 3f24fcda
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Miscellaneous bug fixes and cleanups in ext4's multi-block allocator
        and extent handling code"
      
      * tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (23 commits)
        ext4: make ext4_set_iomap() recognize IOMAP_DELALLOC map type
        ext4: make ext4_map_blocks() distinguish delalloc only extent
        ext4: add a hole extent entry in cache after punch
        ext4: correct the hole length returned by ext4_map_blocks()
        ext4: convert to exclusive lock while inserting delalloc extents
        ext4: refactor ext4_da_map_blocks()
        ext4: remove 'needed' in trace_ext4_discard_preallocations
        ext4: remove unnecessary parameter "needed" in ext4_discard_preallocations
        ext4: remove unused return value of ext4_mb_release_group_pa
        ext4: remove unused return value of ext4_mb_release_inode_pa
        ext4: remove unused return value of ext4_mb_release
        ext4: remove unused ext4_allocation_context::ac_groups_considered
        ext4: remove unneeded return value of ext4_mb_release_context
        ext4: remove unused parameter ngroup in ext4_mb_choose_next_group_*()
        ext4: remove unused return value of __mb_check_buddy
        ext4: mark the group block bitmap as corrupted before reporting an error
        ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
        ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
        ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt
        ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
        ...
      3f24fcda
    • Linus Torvalds's avatar
      Merge tag 'v6.8-rc3-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 9e28c7a2
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
       "Five smb3 client fixes, mostly multichannel related:
      
         - four multichannel fixes including fix for channel allocation when
           multiple inactive channels, fix for unneeded race in channel
           deallocation, correct redundant channel scaling, and redundant
           multichannel disabling scenarios
      
         - add warning if max compound requests reached"
      
      * tag 'v6.8-rc3-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: client: increase number of PDUs allowed in a compound request
        cifs: failure to add channel on iface should bump up weight
        cifs: do not search for channel if server is terminating
        cifs: avoid redundant calls to disable multichannel
        cifs: make sure that channel scaling is done only once
      9e28c7a2
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · fc86e5c9
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Clear XFS_ATTR_INCOMPLETE filter on removing xattr from a node format
         attribute fork
      
       - Remove conditional compilation of realtime geometry validator
         functions to prevent confusing error messages from being printed on
         the console during the mount operation
      
      * tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: remove conditional building of rt geometry validator functions
        xfs: reset XFS_ATTR_INCOMPLETE filter on node removal
      fc86e5c9
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 3a0e9220
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are three tiny driver fixes for 6.8-rc3.  They include:
      
         - Android binder long-term bug with epoll finally being fixed
      
         - fastrpc driver shutdown bugfix
      
         - open-dice lockdep fix
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'char-misc-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        binder: signal epoll threads of self-work
        misc: open-dice: Fix spurious lockdep warning
        misc: fastrpc: Mark all sessions as invalid in cb_remove
      3a0e9220
    • Linus Torvalds's avatar
      Merge tag 'tty-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 02149609
      Linus Torvalds authored
      Pull tty and serial driver fixes from Greg KH:
       "Here are some small tty and serial driver fixes for 6.8-rc3 that
        resolve a number of reported issues. Included in here are:
      
         - rs485 flag definition fix that affected the user/kernel abi in -rc1
      
         - max310x driver fixes
      
         - 8250_pci1xxxx driver off-by-one fix
      
         - uart_tiocmget locking race fix
      
        All of these have been in linux-next for over a week with no reported
        issues"
      
      * tag 'tty-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: max310x: prevent infinite while() loop in port startup
        serial: max310x: fail probe if clock crystal is unstable
        serial: max310x: improve crystal stable clock detection
        serial: max310x: set default value when reading clock ready bit
        serial: core: Fix atomicity violation in uart_tiocmget
        serial: 8250_pci1xxxx: fix off by one in pci1xxxx_process_read_data()
        tty: serial: Fix bit order in RS485 flag definitions
      02149609
    • Linus Torvalds's avatar
      Merge tag 'usb-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 809be620
      Linus Torvalds authored
      Pull USB driver fixes from Greg KH:
       "Here are a bunch of small USB driver fixes for 6.8-rc3. Included in
        here are:
      
         - new usb-serial driver ids
      
         - new dwc3 driver id added
      
         - typec driver change revert
      
         - ncm gadget driver endian bugfix
      
         - xhci bugfixes for a number of reported issues
      
         - usb hub bugfix for alternate settings
      
         - ulpi driver debugfs memory leak fix
      
         - chipidea driver bugfix
      
         - usb gadget driver fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (24 commits)
        USB: serial: option: add Fibocom FM101-GL variant
        USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
        USB: serial: cp210x: add ID for IMST iM871A-USB
        usb: typec: tcpm: fix the PD disabled case
        usb: ucsi_acpi: Quirk to ack a connector change ack cmd
        usb: ucsi_acpi: Fix command completion handling
        usb: ucsi: Add missing ppm_lock
        usb: ulpi: Fix debugfs directory leak
        Revert "usb: typec: tcpm: fix cc role at port reset"
        usb: gadget: pch_udc: fix an Excess kernel-doc warning
        usb: f_mass_storage: forbid async queue when shutdown happen
        USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
        usb: chipidea: core: handle power lost in workqueue
        usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend
        usb: dwc3: pci: add support for the Intel Arrow Lake-H
        usb: core: Prevent null pointer dereference in update_port_device_state
        xhci: handle isoc Babble and Buffer Overrun events properly
        xhci: process isoc TD properly when there was a transaction error mid TD.
        xhci: fix off by one check when adding a secondary interrupter.
        xhci: fix possible null pointer dereference at secondary interrupter removal
        ...
      809be620
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · bdda52cc
      Linus Torvalds authored
      Pull i2c fixlet from Wolfram Sang:
       "MAINTAINERS update to point people to the new tree for i2c host driver
        changes"
      
      * tag 'i2c-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: Update i2c host drivers repository
      bdda52cc
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 8a0c60a0
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "Core:
      
         - fix return value of is_slave_direction() for D2D dma
      
        Driver fixes for:
      
         - Documentaion fixes to resolve warnings for at_hdmac driver
      
         - bunch of fsl driver fixes for memory leaks, and useless kfree
      
         - TI edma and k3 fixes for packet error and null pointer checks"
      
      * tag 'dmaengine-fix-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
        dmaengine: at_hdmac: add missing kernel-doc style description
        dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
        dmaengine: fsl-qdma: Remove a useless devm_kfree()
        dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
        dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
        dmaengine: ti: k3-udma: Report short packet errors
        dmaengine: ti: edma: Add some null pointer checks to the edma_probe
        dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
        dmaengine: at_hdmac: fix some kernel-doc warnings
      8a0c60a0
    • Linus Torvalds's avatar
      Merge tag 'phy-fixes-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 843a33d6
      Linus Torvalds authored
      Pull phy driver fixes from Vinod Koul:
      
       - TI null pointer dereference
      
       - missing erdes mux entry in lan966x driver
      
       - Return of error code in renesas driver
      
       - Serdes init sequence and register offsets for IPQ drivers
      
      * tag 'phy-fixes-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
        phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
        phy: lan966x: Add missing serdes mux entry
        phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
        phy: qcom-qmp-usb: fix serdes init sequence for IPQ6018
        phy: qcom-qmp-usb: fix register offsets for ipq8074/ipq6018
      843a33d6
  6. 03 Feb, 2024 2 commits
    • Wolfram Sang's avatar
      Merge tag 'i2c-host-fixes-6.8-rc3' of... · 957bd221
      Wolfram Sang authored
      Merge tag 'i2c-host-fixes-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
      
      Just a maintenance patch that updates the repository where the
      i2c host and muxes related patches will be collected.
      957bd221
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.8-1-2024-02-01' of... · b555d191
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.8-1-2024-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
       "Vendor events:
      
         - Intel Alderlake/Sapphire Rapids metric fixes, the CPU type
           ("cpu_atom", "cpu_core") needs to be used as a prefix to be
           considered on a metric formula, detected via one of the 'perf test'
           entries.
      
        'perf test' fixes:
      
         - Fix the creation of event selector lists on 'perf test' entries, by
           initializing the sample ID flag, which is done by 'perf record', so
           this fix affects only the tests, the common case isn't affected
      
         - Make 'perf list' respect debug settings (-v) to fix its 'perf test'
           entry
      
         - Fix 'perf script' test when python support isn't enabled
      
         - Special case 'perf script' tests on s390, where only DWARF call
           graphs are supported and only on software events
      
         - Make 'perf daemon' signal test less racy
      
        Compiler warnings/errors:
      
         - Remove needless malloc(0) call in 'perf top' that triggers
           -Walloc-size
      
         - Fix calloc() argument order to address error introduced in gcc-14
      
        Build:
      
         - Make minimal shellcheck version to v0.6.0, avoiding the build to
           fail with older versions
      
        Sync kernel header copies:
      
         - stat.h to pick STATX_MNT_ID_UNIQUE
      
         - msr-index.h to pick IA32_MKTME_KEYID_PARTITIONING
      
         - drm.h to pick DRM_IOCTL_MODE_CLOSEFB
      
         - unistd.h to pick {list,stat}mount,
           lsm_{[gs]et_self_attr,list_modules} syscall numbers
      
         - x86 cpufeatures to pick TDX, Zen, APIC MSR fence changes
      
         - x86's mem{cpy,set}_64.S used in 'perf bench'
      
         - Also, without tooling effects: asm-generic/unaligned.h, mount.h,
           fcntl.h, kvm headers"
      
      * tag 'perf-tools-fixes-for-v6.8-1-2024-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (21 commits)
        perf tools headers: update the asm-generic/unaligned.h copy with the kernel sources
        tools include UAPI: Sync linux/mount.h copy with the kernel sources
        perf evlist: Fix evlist__new_default() for > 1 core PMU
        tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench'
        tools headers x86 cpufeatures: Sync with the kernel sources to pick TDX, Zen, APIC MSR fence changes
        tools headers UAPI: Sync unistd.h to pick {list,stat}mount, lsm_{[gs]et_self_attr,list_modules} syscall numbers
        perf vendor events intel: Alderlake/sapphirerapids metric fixes
        tools headers UAPI: Sync kvm headers with the kernel sources
        perf tools: Fix calloc() arguments to address error introduced in gcc-14
        perf top: Remove needless malloc(0) call that triggers -Walloc-size
        perf build: Make minimal shellcheck version to v0.6.0
        tools headers UAPI: Update tools's copy of drm.h headers to pick DRM_IOCTL_MODE_CLOSEFB
        perf test shell daemon: Make signal test less racy
        perf test shell script: Fix test for python being disabled
        perf test: Workaround debug output in list test
        perf list: Add output file option
        perf list: Switch error message to pr_err() to respect debug settings (-v)
        perf test: Fix 'perf script' tests on s390
        tools headers UAPI: Sync linux/fcntl.h with the kernel sources
        tools arch x86: Sync the msr-index.h copy with the kernel sources to pick IA32_MKTME_KEYID_PARTITIONING
        ...
      b555d191
  7. 02 Feb, 2024 5 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 56897d51
      Linus Torvalds authored
      Pull tracing and eventfs fixes from Steven Rostedt:
      
       - Fix the return code for ring_buffer_poll_wait()
      
         It was returing a -EINVAL instead of EPOLLERR.
      
       - Zero out the tracefs_inode so that all fields are initialized.
      
         The ti->private could have had stale data, but instead of just
         initializing it to NULL, clear out the entire structure when it is
         allocated.
      
       - Fix a crash in timerlat
      
         The hrtimer was initialized at read and not open, but is canceled at
         close. If the file was opened and never read the close will pass a
         NULL pointer to hrtime_cancel().
      
       - Rewrite of eventfs.
      
         Linus wrote a patch series to remove the dentry references in the
         eventfs_inode and to use ref counting and more of proper VFS
         interfaces to make it work.
      
       - Add warning to put_ei() if ei is not set to free. That means
         something is about to free it when it shouldn't.
      
       - Restructure the eventfs_inode to make it more compact, and remove the
         unused llist field.
      
       - Remove the fsnotify*() funtions for when the inodes were being
         created in the lookup code. It doesn't make sense to notify about
         creation just because something is being looked up.
      
       - The inode hard link count was not accurate.
      
         It was being updated when a file was looked up. The inodes of
         directories were updating their parent inode hard link count every
         time the inode was created. That means if memory reclaim cleaned a
         stale directory inode and the inode was lookup up again, it would
         increment the parent inode again as well. Al Viro said to just have
         all eventfs directories have a hard link count of 1. That tells user
         space not to trust it.
      
      * tag 'trace-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        eventfs: Keep all directory links at 1
        eventfs: Remove fsnotify*() functions from lookup()
        eventfs: Restructure eventfs_inode structure to be more condensed
        eventfs: Warn if an eventfs_inode is freed without is_freed being set
        tracing/timerlat: Move hrtimer_init to timerlat_fd open()
        eventfs: Get rid of dentry pointers without refcounts
        eventfs: Clean up dentry ops and add revalidate function
        eventfs: Remove unused d_parent pointer field
        tracefs: dentry lookup crapectomy
        tracefs: Avoid using the ei->dentry pointer unnecessarily
        eventfs: Initialize the tracefs inode properly
        tracefs: Zero out the tracefs_inode when allocating it
        ring-buffer: Clean ring_buffer_poll_wait() error return
      56897d51
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v6.8-rc2-revert' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 6b89b6af
      Linus Torvalds authored
      Pull gfs2 revert from Andreas Gruenbacher:
       "It turns out that the commit to use GL_NOBLOCK flag for non-blocking
        lookups has several issues, and not all of them have a simple fix"
      
      * tag 'gfs2-v6.8-rc2-revert' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        Revert "gfs2: Use GL_NOBLOCK flag for non-blocking lookups"
      6b89b6af
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.8-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · b1dd6c26
      Linus Torvalds authored
      Pull pci fixes from Bjorn Helgaas:
      
       - Fix a potential deadlock that was reintroduced by an ASPM revert
         merged for v6.8 (Johan Hovold)
      
       - Add Manivannan Sadhasivam as PCI Endpoint maintainer (Lorenzo
         Pieralisi)
      
      * tag 'pci-v6.8-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
        MAINTAINERS: Add Manivannan Sadhasivam as PCI Endpoint maintainer
        PCI/ASPM: Fix deadlock when enabling ASPM
      b1dd6c26
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-02-03' of git://anongit.freedesktop.org/drm/drm · 9c2f0338
      Linus Torvalds authored
      Pul drm fixes from Dave Airlie:
       "Regular weekly fixes, mostly amdgpu and xe. One nouveau fix is a
        better fix for the deadlock and also helps with a sync race we were
        seeing.
      
        dma-buf:
         - heaps CMA page accounting fix
      
        virtio-gpu:
         - fix segment size
      
        xe:
         - A crash fix
         - A fix for an assert due to missing mem_acces ref
         - Only allow a single user-fence per exec / bind.
         - Some sparse warning fixes
         - Two fixes for compilation failures on various odd combinations of
           gcc / arch pointed out on LKML.
         - Fix a fragile partial allocation pointed out on LKML.
         - A sysfs ABI documentation warning fix
      
        amdgpu:
         - Fix reboot issue seen on some 7000 series dGPUs
         - Fix client init order for KFD
         - Misc display fixes
         - USB-C fix
         - DCN 3.5 fixes
         - Fix issues with GPU scheduler and GPU reset
         - GPU firmware loading fix
         - Misc fixes
         - GC 11.5 fix
         - VCN 4.0.5 fix
         - IH overflow fix
      
        amdkfd:
         - SVM fixes
         - Trap handler fix
         - Fix device permission lookup
         - Properly reserve BO before validating it
      
        nouveau:
         - fence/irq lock deadlock fix (second attempt)
         - gsp command size fix
      
      * tag 'drm-fixes-2024-02-03' of git://anongit.freedesktop.org/drm/drm: (35 commits)
        nouveau: offload fence uevents work to workqueue
        nouveau/gsp: use correct size for registry rpc.
        drm/amdgpu/pm: Use inline function for IP version check
        drm/hwmon: Fix abi doc warnings
        drm/xe: Make all GuC ABI shift values unsigned
        drm/xe/vm: Subclass userptr vmas
        drm/xe: Use LRC prefix rather than CTX prefix in lrc desc defines
        drm/xe: Don't use __user error pointers
        drm/xe: Annotate mcr_[un]lock()
        drm/xe: Only allow 1 ufence per exec / bind IOCTL
        drm/xe: Grab mem_access when disabling C6 on skip_guc_pc platforms
        drm/xe: Fix crash in trace_dma_fence_init()
        drm/amdgpu: Reset IH OVERFLOW_CLEAR bit
        drm/amdgpu: remove asymmetrical irq disabling in vcn 4.0.5 suspend
        drm/amdgpu: drm/amdgpu: remove golden setting for gfx 11.5.0
        drm/amdkfd: reserve the BO before validating it
        drm/amdgpu: Fix missing error code in 'gmc_v6/7/8/9_0_hw_init()'
        drm/amd/display: Fix buffer overflow in 'get_host_router_total_dp_tunnel_bw()'
        drm/amd/display: Add NULL check for kzalloc in 'amdgpu_dm_atomic_commit_tail()'
        drm/amd: Don't init MEC2 firmware when it fails to load
        ...
      9c2f0338
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · eab5c86d
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
      
       - a fix for the fix to deal with newer laptops which get confused by
         the "GET ID" command when probing for PS/2 keyboards
      
       - a couple of tweaks to i8042 to handle Clevo NS70PU and Lifebook U728
         laptops
      
       - a change to bcm5974 to validate that the device has appropriate
         endpoints
      
       - an addition of new product ID to xpad driver to recognize Lenovo
         Legion Go controllers
      
       - a quirk to Goodix controller to deal with extra GPIO described in
         ACPI tables on some devices.
      
      * tag 'input-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
        Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
        Input: atkbd - do not skip atkbd_deactivate() when skipping ATKBD_CMD_GETID
        Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
        Input: bcm5974 - check endpoint type before starting traffic
        Input: xpad - add Lenovo Legion Go controllers
        Input: goodix - accept ACPI resources with gpio_count == 3 && gpio_int_idx == 0
      eab5c86d