1. 22 Feb, 2024 1 commit
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · efa80dcb
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
      
       - While working on the ring buffer I noticed that the counter used for
         knowing where the end of the data is on a sub-buffer was not a full
         "int" but just 20 bits. It was masked out to 0xfffff.
      
         With the new code that allows the user to change the size of the
         sub-buffer, it is theoretically possible to ask for a size bigger
         than 2^20. If that happens, unexpected results may occur as there's
         no code checking if the counter overflowed the 20 bits of the write
         mask. There are other checks to make sure events fit in the
         sub-buffer, but if the sub-buffer itself is too big, that is not
         checked.
      
         Add a check in the resize of the sub-buffer to make sure that it
         never goes beyond the size of the counter that holds how much data is
         on it.
      
      * tag 'trace-v6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ring-buffer: Do not let subbuf be bigger than write mask
      efa80dcb
  2. 21 Feb, 2024 8 commits
  3. 20 Feb, 2024 2 commits
    • Linus Torvalds's avatar
      drm/tests/drm_buddy: fix build failure on 32-bit targets · fca7526b
      Linus Torvalds authored
      Guenter Roeck reports that commit a64056bb ("drm/tests/drm_buddy:
      add alloc_contiguous test") causes build failures on 32-bit targets:
      
       "This patch breaks the build on all 32-bit systems since it introduces
        an unhandled direct 64-bit divide operation.
      
        ERROR: modpost: "__umoddi3" [drivers/gpu/drm/tests/drm_buddy_test.ko] undefined!
        ERROR: modpost: "__moddi3" [drivers/gpu/drm/tests/drm_buddy_test.ko] undefined!"
      
      and the uses of 'u64' are all entirely pointless.  Yes, the arguments to
      drm_buddy_init() and drm_buddy_alloc_blocks() are in fact of type 'u64',
      but none of the values here are remotely relevant, and the compiler will
      happily just do the type expansion.
      
      Of course, in a perfect world the compiler would also have just noticed
      that all the values in question are tiny, and range analysis would have
      shown that doing a 64-bit divide is pointless, but that is admittedly
      expecting a fair amount of the compiler.
      
      IOW, we shouldn't write code that the compiler then has to notice is
      unnecessarily complicated just to avoid extra work.  We do have fairly
      high expectations of compilers, but kernel code should be reasonable to
      begin with.
      
      It turns out that there are also other issues with this code: the KUnit
      assertion messages have incorrect types in the format strings, but
      that's a widely spread issue caused by the KUnit infrastructure not
      having enabled format string verification.  We'll get that sorted out
      separately.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Fixes: a64056bb ("drm/tests/drm_buddy: add alloc_contiguous test")
      Link: https://lore.kernel.org/all/538327ff-8d34-41d5-a9ae-1a334744f5ae@roeck-us.net/
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
      Cc: Christian König <christian.koenig@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fca7526b
    • Linus Torvalds's avatar
      sched/membarrier: reduce the ability to hammer on sys_membarrier · 944d5fe5
      Linus Torvalds authored
      On some systems, sys_membarrier can be very expensive, causing overall
      slowdowns for everything.  So put a lock on the path in order to
      serialize the accesses to prevent the ability for this to be called at
      too high of a frequency and saturate the machine.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-and-tested-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Acked-by: default avatarBorislav Petkov <bp@alien8.de>
      Fixes: 22e4ebb9 ("membarrier: Provide expedited private command")
      Fixes: c5f58bd5 ("membarrier: Provide GLOBAL_EXPEDITED command")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      944d5fe5
  4. 19 Feb, 2024 2 commits
    • Josef Bacik's avatar
      btrfs: fix deadlock with fiemap and extent locking · b0ad381f
      Josef Bacik authored
      While working on the patchset to remove extent locking I got a lockdep
      splat with fiemap and pagefaulting with my new extent lock replacement
      lock.
      
      This deadlock exists with our normal code, we just don't have lockdep
      annotations with the extent locking so we've never noticed it.
      
      Since we're copying the fiemap extent to user space on every iteration
      we have the chance of pagefaulting.  Because we hold the extent lock for
      the entire range we could mkwrite into a range in the file that we have
      mmap'ed.  This would deadlock with the following stack trace
      
      [<0>] lock_extent+0x28d/0x2f0
      [<0>] btrfs_page_mkwrite+0x273/0x8a0
      [<0>] do_page_mkwrite+0x50/0xb0
      [<0>] do_fault+0xc1/0x7b0
      [<0>] __handle_mm_fault+0x2fa/0x460
      [<0>] handle_mm_fault+0xa4/0x330
      [<0>] do_user_addr_fault+0x1f4/0x800
      [<0>] exc_page_fault+0x7c/0x1e0
      [<0>] asm_exc_page_fault+0x26/0x30
      [<0>] rep_movs_alternative+0x33/0x70
      [<0>] _copy_to_user+0x49/0x70
      [<0>] fiemap_fill_next_extent+0xc8/0x120
      [<0>] emit_fiemap_extent+0x4d/0xa0
      [<0>] extent_fiemap+0x7f8/0xad0
      [<0>] btrfs_fiemap+0x49/0x80
      [<0>] __x64_sys_ioctl+0x3e1/0xb50
      [<0>] do_syscall_64+0x94/0x1a0
      [<0>] entry_SYSCALL_64_after_hwframe+0x6e/0x76
      
      I wrote an fstest to reproduce this deadlock without my replacement lock
      and verified that the deadlock exists with our existing locking.
      
      To fix this simply don't take the extent lock for the entire duration of
      the fiemap.  This is safe in general because we keep track of where we
      are when we're searching the tree, so if an ordered extent updates in
      the middle of our fiemap call we'll still emit the correct extents
      because we know what offset we were on before.
      
      The only place we maintain the lock is searching delalloc.  Since the
      delalloc stuff can change during writeback we want to lock the extent
      range so we have a consistent view of delalloc at the time we're
      checking to see if we need to set the delalloc flag.
      
      With this patch applied we no longer deadlock with my testcase.
      
      CC: stable@vger.kernel.org # 6.1+
      Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      b0ad381f
    • Qu Wenruo's avatar
      btrfs: defrag: avoid unnecessary defrag caused by incorrect extent size · e42b9d8b
      Qu Wenruo authored
      [BUG]
      With the following file extent layout, defrag would do unnecessary IO
      and result more on-disk space usage.
      
        # mkfs.btrfs -f $dev
        # mount $dev $mnt
        # xfs_io -f -c "pwrite 0 40m" $mnt/foobar
        # sync
        # xfs_io -f -c "pwrite 40m 16k" $mnt/foobar
        # sync
      
      Above command would lead to the following file extent layout:
      
              item 6 key (257 EXTENT_DATA 0) itemoff 15816 itemsize 53
                      generation 7 type 1 (regular)
                      extent data disk byte 298844160 nr 41943040
                      extent data offset 0 nr 41943040 ram 41943040
                      extent compression 0 (none)
              item 7 key (257 EXTENT_DATA 41943040) itemoff 15763 itemsize 53
                      generation 8 type 1 (regular)
                      extent data disk byte 13631488 nr 16384
                      extent data offset 0 nr 16384 ram 16384
                      extent compression 0 (none)
      
      Which is mostly fine. We can allow the final 16K to be merged with the
      previous 40M, but it's upon the end users' preference.
      
      But if we defrag the file using the default parameters, it would result
      worse file layout:
      
       # btrfs filesystem defrag $mnt/foobar
       # sync
      
              item 6 key (257 EXTENT_DATA 0) itemoff 15816 itemsize 53
                      generation 7 type 1 (regular)
                      extent data disk byte 298844160 nr 41943040
                      extent data offset 0 nr 8650752 ram 41943040
                      extent compression 0 (none)
              item 7 key (257 EXTENT_DATA 8650752) itemoff 15763 itemsize 53
                      generation 9 type 1 (regular)
                      extent data disk byte 340787200 nr 33292288
                      extent data offset 0 nr 33292288 ram 33292288
                      extent compression 0 (none)
              item 8 key (257 EXTENT_DATA 41943040) itemoff 15710 itemsize 53
                      generation 8 type 1 (regular)
                      extent data disk byte 13631488 nr 16384
                      extent data offset 0 nr 16384 ram 16384
                      extent compression 0 (none)
      
      Note the original 40M extent is still there, but a new 32M extent is
      created for no benefit at all.
      
      [CAUSE]
      There is an existing check to make sure we won't defrag a large enough
      extent (the threshold is by default 32M).
      
      But the check is using the length to the end of the extent:
      
      	range_len = em->len - (cur - em->start);
      
      	/* Skip too large extent */
      	if (range_len >= extent_thresh)
      		goto next;
      
      This means, for the first 8MiB of the extent, the range_len is always
      smaller than the default threshold, and would not be defragged.
      But after the first 8MiB, the remaining part would fit the requirement,
      and be defragged.
      
      Such different behavior inside the same extent caused the above problem,
      and we should avoid different defrag decision inside the same extent.
      
      [FIX]
      Instead of using @range_len, just use @em->len, so that we have a
      consistent decision among the same file extent.
      
      Now with this fix, we won't touch the extent, thus not making it any
      worse.
      Reported-by: default avatarFilipe Manana <fdmanana@suse.com>
      Fixes: 0cb5950f ("btrfs: fix deadlock when reserving space during defrag")
      CC: stable@vger.kernel.org # 6.1+
      Reviewed-by: default avatarBoris Burkov <boris@bur.io>
      Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      e42b9d8b
  5. 18 Feb, 2024 6 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc5 · b401b621
      Linus Torvalds authored
      b401b621
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.8-2' of... · 6c160f16
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Reformat nested if-conditionals in Makefiles with 4 spaces
      
       - Fix CONFIG_DEBUG_INFO_BTF builds for big endian
      
       - Fix modpost for module srcversion
      
       - Fix an escape sequence warning in gen_compile_commands.py
      
       - Fix kallsyms to ignore ARMv4 thunk symbols
      
      * tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kallsyms: ignore ARMv4 thunks along with others
        modpost: trim leading spaces when processing source files list
        gen_compile_commands: fix invalid escape sequence warning
        kbuild: Fix changing ELF file type for output of gen_btf for big endian
        docs: kconfig: Fix grammar and formatting
        kbuild: use 4-space indentation when followed by conditionals
      6c160f16
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ddac3d8b
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
      
       - Use a GB page for identity mapping only when memory of this size is
         requested so that mapping of reserved regions is prevented which
         would otherwise lead to system crashes on UV machines
      
      * tag 'x86_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
      ddac3d8b
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7cb7c32d
      Linus Torvalds authored
      Pull irq fixes from Borislav Petkov:
      
       - Fix GICv4.1 affinity update
      
       - Restore a quirk for ACPI-based GICv4 systems
      
       - Handle non-coherent GICv4 redistributors properly
      
       - Prevent spurious interrupts on Broadcom devices using GIC v3
         architecture
      
       - Other minor fixes
      
      * tag 'irq_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
        irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
        irqchip/gic-v3-its: Handle non-coherent GICv4 redistributors
        irqchip/qcom-mpm: Fix IS_ERR() vs NULL check in qcom_mpm_init()
        irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc()
        irqchip/irq-brcmstb-l2: Add write memory barrier before exit
      7cb7c32d
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 626721ed
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Two fixes for i801 and qcom-geni devices. Meanwhile, a fix from Arnd
        addresses a compilation error encountered during compile test on
        powerpc"
      
      * tag 'i2c-for-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: i801: Fix block process call transactions
        i2c: pasemi: split driver into two separate modules
        i2c: qcom-geni: Correct I2C TRE sequence
      626721ed
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · c02197fc
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "This is a bit of a big batch for rc4, but just due to holiday hangover
        and because I didn't send any fixes last week due to a late revert
        request. I think next week should be back to normal.
      
         - Fix ftrace bug on boot caused by exit text sections with
           '-fpatchable-function-entry'
      
         - Fix accuracy of stolen time on pseries since the switch to
           VIRT_CPU_ACCOUNTING_GEN
      
         - Fix a crash in the IOMMU code when doing DLPAR remove
      
         - Set pt_regs->link on scv entry to fix BPF stack unwinding
      
         - Add missing PPC_FEATURE_BOOKE on 64-bit e5500/e6500, which broke
           gdb
      
         - Fix boot on some 6xx platforms with STRICT_KERNEL_RWX enabled
      
         - Fix build failures with KASAN enabled and 32KB stack size
      
         - Some other minor fixes
      
        Thanks to Arnd Bergmann, Benjamin Gray, Christophe Leroy, David
        Engraf, Gaurav Batra, Jason Gunthorpe, Jiangfeng Xiao, Matthias
        Schiffer, Nathan Lynch, Naveen N Rao, Nicholas Piggin, Nysal Jan K.A,
        R Nageswara Sastry, Shivaprasad G Bhat, Shrikanth Hegde, Spoorthy,
        Srikar Dronamraju, and Venkat Rao Bagalkote"
      
      * tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach
        powerpc/pseries: fix accuracy of stolen time
        powerpc/ftrace: Ignore ftrace locations in exit text sections
        powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E
        powerpc/kasan: Limit KASAN thread size increase to 32KB
        Revert "powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add"
        powerpc: 85xx: mark local functions static
        powerpc: udbg_memcons: mark functions static
        powerpc/kasan: Fix addr error caused by page alignment
        powerpc/6xx: set High BAT Enable flag on G2_LE cores
        selftests/powerpc/papr_vpd: Check devfd before get_system_loc_code()
        powerpc/64: Set task pt_regs->link to the LR value on scv entry
        powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add
        powerpc/pseries/papr-sysparm: use u8 arrays for payloads
      c02197fc
  6. 17 Feb, 2024 12 commits
  7. 16 Feb, 2024 9 commits
    • Siddharth Vadapalli's avatar
      MAINTAINERS: Add Siddharth Vadapalli as PCI TI DRA7XX/J721E reviewer · 172c0cf5
      Siddharth Vadapalli authored
      Since I have been contributing to the driver for a while and wish to help
      with the review process, add myself as a reviewer.
      
      Link: https://lore.kernel.org/r/20240216065926.473805-1-s-vadapalli@ti.comSigned-off-by: default avatarSiddharth Vadapalli <s-vadapalli@ti.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      172c0cf5
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · c1ca10ce
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Three fixes: the two fnic ones are a revert and a refix, which is why
        the diffstat is a bit big. The target one also extracts a function to
        add a check for configuration and so looks bigger than it is"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: fnic: Move fnic_fnic_flush_tx() to a work queue
        scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
        scsi: target: Fix unmap setup during configuration
      c1ca10ce
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.8-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 975b26ab
      Linus Torvalds authored
      Pull workqueue fix from Tejun Heo:
       "Just one patch to revert commit ca10d851 ("workqueue: Override
        implicit ordered attribute in workqueue_apply_unbound_cpumask()").
      
        This commit could break ordering guarantees for ordered workqueues.
        The problem that the commit tried to resolve partially - making
        ordered workqueues follow unbound cpumask - is fully solved in
        wq/for-6.9 branch"
      
      * tag 'wq-for-6.8-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        Revert "workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()"
      975b26ab
    • Linus Torvalds's avatar
      Merge tag 'block-6.8-2024-02-16' of git://git.kernel.dk/linux · 7edfe0aa
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Just an nvme pull request via Keith:
      
         - Fabrics connection error handling (Chaitanya)
      
         - Use relaxed effects to reduce unnecessary queue freezes (Keith)"
      
      * tag 'block-6.8-2024-02-16' of git://git.kernel.dk/linux:
        nvmet: remove superfluous initialization
        nvme: implement support for relaxed effects
        nvme-fabrics: fix I/O connect error handling
      7edfe0aa
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.8-2024-02-16' of git://git.kernel.dk/linux · 80960150
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Just a single fix for a regression in how overflow is handled for
        multishot accept requests"
      
      * tag 'io_uring-6.8-2024-02-16' of git://git.kernel.dk/linux:
        io_uring/net: fix multishot accept overflow handling
      80960150
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.8-rc5' of https://github.com/ceph/ceph-client · 3f9c1b31
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "Additional cap handling fixes from Xiubo to avoid "client isn't
        responding to mclientcaps(revoke)" stalls on the MDS side"
      
      * tag 'ceph-for-6.8-rc5' of https://github.com/ceph/ceph-client:
        ceph: add ceph_cap_unlink_work to fire check_caps() immediately
        ceph: always queue a writeback when revoking the Fb caps
      3f9c1b31
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 683b783c
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "ARM:
      
         - Avoid dropping the page refcount twice when freeing an unlinked
           page-table subtree.
      
         - Don't source the VFIO Kconfig twice
      
         - Fix protected-mode locking order between kvm and vcpus
      
        RISC-V:
      
         - Fix steal-time related sparse warnings
      
        x86:
      
         - Cleanup gtod_is_based_on_tsc() to return "bool" instead of an "int"
      
         - Make a KVM_REQ_NMI request while handling KVM_SET_VCPU_EVENTS if
           and only if the incoming events->nmi.pending is non-zero. If the
           target vCPU is in the UNITIALIZED state, the spurious request will
           result in KVM exiting to userspace, which in turn causes QEMU to
           constantly acquire and release QEMU's global mutex, to the point
           where the BSP is unable to make forward progress.
      
         - Fix a type (u8 versus u64) goof that results in pmu->fixed_ctr_ctrl
           being incorrectly truncated, and ultimately causes KVM to think a
           fixed counter has already been disabled (KVM thinks the old value
           is '0').
      
         - Fix a stack leak in KVM_GET_MSRS where a failed MSR read from
           userspace that is ultimately ignored due to ignore_msrs=true
           doesn't zero the output as intended.
      
        Selftests cleanups and fixes:
      
         - Remove redundant newlines from error messages.
      
         - Delete an unused variable in the AMX test (which causes build
           failures when compiling with -Werror).
      
         - Fail instead of skipping tests if open(), e.g. of /dev/kvm, fails
           with an error code other than ENOENT (a Hyper-V selftest bug
           resulted in an EMFILE, and the test eventually got skipped).
      
         - Fix TSC related bugs in several Hyper-V selftests.
      
         - Fix a bug in the dirty ring logging test where a sem_post() could
           be left pending across multiple runs, resulting in incorrect
           synchronization between the main thread and the vCPU worker thread.
      
         - Relax the dirty log split test's assertions on 4KiB mappings to fix
           false positives due to the number of mappings for memslot 0 (used
           for code and data that is NOT being dirty logged) changing, e.g.
           due to NUMA balancing"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (25 commits)
        KVM: arm64: Fix double-free following kvm_pgtable_stage2_free_unlinked()
        RISC-V: KVM: Use correct restricted types
        RISC-V: paravirt: Use correct restricted types
        RISC-V: paravirt: steal_time should be static
        KVM: selftests: Don't assert on exact number of 4KiB in dirty log split test
        KVM: selftests: Fix a semaphore imbalance in the dirty ring logging test
        KVM: x86: Fix KVM_GET_MSRS stack info leak
        KVM: arm64: Do not source virt/lib/Kconfig twice
        KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl
        KVM: x86: Make gtod_is_based_on_tsc() return 'bool'
        KVM: selftests: Make hyperv_clock require TSC based system clocksource
        KVM: selftests: Run clocksource dependent tests with hyperv_clocksource_tsc_page too
        KVM: selftests: Use generic sys_clocksource_is_tsc() in vmx_nested_tsc_scaling_test
        KVM: selftests: Generalize check_clocksource() from kvm_clock_test
        KVM: x86: make KVM_REQ_NMI request iff NMI pending for vcpu
        KVM: arm64: Fix circular locking dependency
        KVM: selftests: Fail tests when open() fails with !ENOENT
        KVM: selftests: Avoid infinite loop in hyperv_features when invtsc is missing
        KVM: selftests: Delete superfluous, unused "stage" variable in AMX test
        KVM: selftests: x86_64: Remove redundant newlines
        ...
      683b783c
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 4b6f7c62
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
      
       - Fix the #ifndef that didn't have the 'CONFIG_' prefix on
         HAVE_DYNAMIC_FTRACE_WITH_REGS
      
         The fix to have dynamic trampolines work with x86 broke arm64 as the
         config used in the #ifdef was HAVE_DYNAMIC_FTRACE_WITH_REGS and not
         CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS which removed the fix that the
         previous fix was to fix.
      
       - Fix tracing_on state
      
         The code to test if "tracing_on" is set incorrectly used
         ring_buffer_record_is_on() which returns false if the ring buffer
         isn't able to be written to.
      
         But the ring buffer disable has several bits that disable it. One is
         internal disabling which is used for resizing and other modifications
         of the ring buffer. But the "tracing_on" user space visible flag
         should only report if tracing is actually on and not internally
         disabled, as this can cause confusion as writing "1" when it is
         disabled will not enable it.
      
         Instead use ring_buffer_record_is_set_on() which shows the user space
         visible settings.
      
       - Fix a false positive kmemleak on saved cmdlines
      
         Now that the saved_cmdlines structure is allocated via alloc_page()
         and not via kmalloc() it has become invisible to kmemleak. The
         allocation done to one of its pointers was flagged as a dangling
         allocation leak. Make kmemleak aware of this allocation and free.
      
       - Fix synthetic event dynamic strings
      
         An update that cleaned up the synthetic event code removed the return
         value of trace_string(), and had it return zero instead of the
         length, causing dynamic strings in the synthetic event to always have
         zero size.
      
       - Clean up documentation and header files for seq_buf
      
      * tag 'trace-v6.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        seq_buf: Fix kernel documentation
        seq_buf: Don't use "proxy" headers
        tracing/synthetic: Fix trace_string() return value
        tracing: Inform kmemleak of saved_cmdlines allocation
        tracing: Use ring_buffer_record_is_set_on() in tracer_tracing_is_on()
        tracing: Fix HAVE_DYNAMIC_FTRACE_WITH_REGS ifdef
      4b6f7c62
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 3f3f64cb
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "It's a little busier than normal, but it's still not a lot of code and
        things seem fairly quiet in general:
      
         - Fix allocation failure during SVE coredumps
      
         - Fix handling of SVE context on signal delivery
      
         - Enable Neoverse N2 CPU errata workarounds for Microsoft's "Azure
           Cobalt 100" clone
      
         - Work around CMN PMU erratum in AmpereOneX implementation
      
         - Fix typo in CXL PMU event definition
      
         - Fix jump label asm constraints"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/sve: Lower the maximum allocation for the SVE ptrace regset
        arm64: Subscribe Microsoft Azure Cobalt 100 to ARM Neoverse N2 errata
        perf/arm-cmn: Workaround AmpereOneX errata AC04_MESH_1 (incorrect child count)
        arm64: jump_label: use constraints "Si" instead of "i"
        arm64: fix typo in comments
        perf: CXL: fix mismatched cpmu event opcode
        arm64/signal: Don't assume that TIF_SVE means we saved SVE state
      3f3f64cb