1. 13 Mar, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.9-2024-03-11' of git://git.infradead.org/users/hch/dma-mapping · 7d62cb2a
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - fix leaked pages on dma_set_decrypted() failure (Rick Edgecombe)
      
       - add a new swiotlb debugfs file (ZhangPeng)
      
      * tag 'dma-mapping-6.9-2024-03-11' of git://git.infradead.org/users/hch/dma-mapping:
        dma-direct: Leak pages on dma_set_decrypted() failure
        swiotlb: add debugfs to track swiotlb transient pool usage
      7d62cb2a
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 8c9c2f85
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core changes:
          - Constification of bus_type pointer
          - Preparations for user-space page-fault delivery
          - Use a named kmem_cache for IOVA magazines
      
        Intel VT-d changes from Lu Baolu:
          - Add RBTree to track iommu probed devices
          - Add Intel IOMMU debugfs document
          - Cleanup and refactoring
      
        ARM-SMMU Updates from Will Deacon:
          - Device-tree binding updates for a bunch of Qualcomm SoCs
          - SMMUv2: Support for Qualcomm X1E80100 MDSS
          - SMMUv3: Significant rework of the driver's STE manipulation and
            domain handling code. This is the initial part of a larger scale
            rework aiming to improve the driver's implementation of the
            IOMMU-API in preparation for hooking up IOMMUFD support.
      
        AMD-Vi Updates:
          - Refactor GCR3 table support for SVA
          - Cleanups
      
        Some smaller cleanups and fixes"
      
      * tag 'iommu-updates-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (88 commits)
        iommu: Fix compilation without CONFIG_IOMMU_INTEL
        iommu/amd: Fix sleeping in atomic context
        iommu/dma: Document min_align_mask assumption
        iommu/vt-d: Remove scalabe mode in domain_context_clear_one()
        iommu/vt-d: Remove scalable mode context entry setup from attach_dev
        iommu/vt-d: Setup scalable mode context entry in probe path
        iommu/vt-d: Fix NULL domain on device release
        iommu: Add static iommu_ops->release_domain
        iommu/vt-d: Improve ITE fault handling if target device isn't present
        iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected
        PCI: Make pci_dev_is_disconnected() helper public for other drivers
        iommu/vt-d: Use device rbtree in iopf reporting path
        iommu/vt-d: Use rbtree to track iommu probed devices
        iommu/vt-d: Merge intel_svm_bind_mm() into its caller
        iommu/vt-d: Remove initialization for dynamically heap-allocated rcu_head
        iommu/vt-d: Remove treatment for revoking PASIDs with pending page faults
        iommu/vt-d: Add the document for Intel IOMMU debugfs
        iommu/vt-d: Use kcalloc() instead of kzalloc()
        iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA
        iommu: re-use local fwnode variable in iommu_ops_from_fwnode()
        ...
      8c9c2f85
    • Linus Torvalds's avatar
      Merge tag 'printk-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · b0546776
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
       "Improve the behavior during panic. The issues were found when testing
        the ongoing changes introducing atomic consoles and printk kthreads:
      
         - pr_flush() has to wait for the last reserved record instead of the
           last finalized one. Note that records are finalized in random order
           when generated by more CPUs in parallel.
      
         - Ignore non-finalized records during panic(). Messages printed on
           panic-CPU are always finalized. Messages printed by other CPUs
           might never be finalized when the CPUs get stopped.
      
         - Block new printk() calls on non-panic CPUs completely. Backtraces
           are printed before entering the panic mode. Later messages would
           just mess information printed by the panic CPU.
      
         - Do not take console_lock in console_flush_on_panic() at all. The
           original code did try_lock()/console_unlock(). The unlock part
           might cause a deadlock when panic() happened in a scheduler code.
      
         - Fix conversion of 64-bit sequence number for 32-bit atomic
           operations"
      
      * tag 'printk-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        dump_stack: Do not get cpu_sync for panic CPU
        panic: Flush kernel log buffer at the end
        printk: Avoid non-panic CPUs writing to ringbuffer
        printk: Disable passing console lock owner completely during panic()
        printk: ringbuffer: Skip non-finalized records in panic
        printk: Wait for all reserved records with pr_flush()
        printk: ringbuffer: Cleanup reader terminology
        printk: Add this_cpu_in_panic()
        printk: For @suppress_panic_printk check for other CPU in panic
        printk: ringbuffer: Clarify special lpos values
        printk: ringbuffer: Do not skip non-finalized records with prb_next_seq()
        printk: Use prb_first_seq() as base for 32bit seq macros
        printk: Adjust mapping for 32bit seq macros
        printk: nbcon: Relocate 32bit seq macros
      b0546776
    • Linus Torvalds's avatar
      mm, slab: remove last vestiges of SLAB_MEM_SPREAD · f88c3fb8
      Linus Torvalds authored
      Yes, yes, I know the slab people were planning on going slow and letting
      every subsystem fight this thing on their own.  But let's just rip off
      the band-aid and get it over and done with.  I don't want to see a
      number of unnecessary pull requests just to get rid of a flag that no
      longer has any meaning.
      
      This was mainly done with a couple of 'sed' scripts and then some manual
      cleanup of the end result.
      
      Link: https://lore.kernel.org/all/CAHk-=wji0u+OOtmAOD-5JV3SXcRJF___k_+8XNKmak0yd5vW1Q@mail.gmail.com/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f88c3fb8
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 0ea680ed
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
      
       - Freelist loading optimization (Chengming Zhou)
      
         When the per-cpu slab is depleted and a new one loaded from the cpu
         partial list, optimize the loading to avoid an irq enable/disable
         cycle. This results in a 3.5% performance improvement on the "perf
         bench sched messaging" test.
      
       - Kernel boot parameters cleanup after SLAB removal (Xiongwei Song)
      
         Due to two different main slab implementations we've had boot
         parameters prefixed either slab_ and slub_ with some later becoming
         an alias as both implementations gained the same functionality (i.e.
         slab_nomerge vs slub_nomerge). In order to eventually get rid of the
         implementation-specific names, the canonical and documented
         parameters are now all prefixed slab_ and the slub_ variants become
         deprecated but still working aliases.
      
       - SLAB_ kmem_cache creation flags cleanup (Vlastimil Babka)
      
         The flags had hardcoded #define values which became tedious and
         error-prone when adding new ones. Assign the values via an enum that
         takes care of providing unique bit numbers. Also deprecate
         SLAB_MEM_SPREAD which was only used by SLAB, so it's a no-op since
         SLAB removal. Assign it an explicit zero value. The removals of the
         flag usage are handled independently in the respective subsystems,
         with a final removal of any leftover usage planned for the next
         release.
      
       - Misc cleanups and fixes (Chengming Zhou, Xiaolei Wang, Zheng Yejian)
      
         Includes removal of unused code or function parameters and a fix of a
         memleak.
      
      * tag 'slab-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        slab: remove PARTIAL_NODE slab_state
        mm, slab: remove memcg_from_slab_obj()
        mm, slab: remove the corner case of inc_slabs_node()
        mm/slab: Fix a kmemleak in kmem_cache_destroy()
        mm, slab, kasan: replace kasan_never_merge() with SLAB_NO_MERGE
        mm, slab: use an enum to define SLAB_ cache creation flags
        mm, slab: deprecate SLAB_MEM_SPREAD flag
        mm, slab: fix the comment of cpu partial list
        mm, slab: remove unused object_size parameter in kmem_cache_flags()
        mm/slub: remove parameter 'flags' in create_kmalloc_caches()
        mm/slub: remove unused parameter in next_freelist_entry()
        mm/slub: remove full list manipulation for non-debug slab
        mm/slub: directly load freelist from cpu partial slab in the likely case
        mm/slub: make the description of slab_min_objects helpful in doc
        mm/slub: replace slub_$params with slab_$params in slub.rst
        mm/slub: unify all sl[au]b parameters with "slab_$param"
        Documentation: kernel-parameters: remove noaliencache
      0ea680ed
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20240312' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · cc4a875c
      Linus Torvalds authored
      Pull lsm updates from Paul Moore:
      
       - Promote IMA/EVM to a proper LSM
      
         This is the bulk of the diffstat, and the source of all the changes
         in the VFS code. Prior to the start of the LSM stacking work it was
         important that IMA/EVM were separate from the rest of the LSMs,
         complete with their own hooks, infrastructure, etc. as it was the
         only way to enable IMA/EVM at the same time as a LSM.
      
         However, now that the bulk of the LSM infrastructure supports
         multiple simultaneous LSMs, we can simplify things greatly by
         bringing IMA/EVM into the LSM infrastructure as proper LSMs. This is
         something I've wanted to see happen for quite some time and Roberto
         was kind enough to put in the work to make it happen.
      
       - Use the LSM hook default values to simplify the call_int_hook() macro
      
         Previously the call_int_hook() macro required callers to supply a
         default return value, despite a default value being specified when
         the LSM hook was defined.
      
         This simplifies the macro by using the defined default return value
         which makes life easier for callers and should also reduce the number
         of return value bugs in the future (we've had a few pop up recently,
         hence this work).
      
       - Use the KMEM_CACHE() macro instead of kmem_cache_create()
      
         The guidance appears to be to use the KMEM_CACHE() macro when
         possible and there is no reason why we can't use the macro, so let's
         use it.
      
       - Fix a number of comment typos in the LSM hook comment blocks
      
         Not much to say here, we fixed some questionable grammar decisions in
         the LSM hook comment blocks.
      
      * tag 'lsm-pr-20240312' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm: (28 commits)
        cred: Use KMEM_CACHE() instead of kmem_cache_create()
        lsm: use default hook return value in call_int_hook()
        lsm: fix typos in security/security.c comment headers
        integrity: Remove LSM
        ima: Make it independent from 'integrity' LSM
        evm: Make it independent from 'integrity' LSM
        evm: Move to LSM infrastructure
        ima: Move IMA-Appraisal to LSM infrastructure
        ima: Move to LSM infrastructure
        integrity: Move integrity_kernel_module_request() to IMA
        security: Introduce key_post_create_or_update hook
        security: Introduce inode_post_remove_acl hook
        security: Introduce inode_post_set_acl hook
        security: Introduce inode_post_create_tmpfile hook
        security: Introduce path_post_mknod hook
        security: Introduce file_release hook
        security: Introduce file_post_open hook
        security: Introduce inode_post_removexattr hook
        security: Introduce inode_post_setattr hook
        security: Align inode_setattr hook definition with EVM
        ...
      cc4a875c
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20240312' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · ca661c5e
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "Really only a few notable changes:
      
         - Continue the coding style/formatting fixup work
      
           This is the bulk of the diffstat in this pull request, with the
           focus this time around being the security/selinux/ss directory.
      
           We've only got a couple of files left to cleanup and once we're
           done with that we can start enabling some automatic style
           verfication and introduce tooling to help new folks format their
           code correctly.
      
         - Don't restrict xattr copy-up when SELinux policy is not loaded
      
           This helps systems that use overlayfs, or similar filesystems,
           preserve their SELinux labels during early boot when the SELinux
           policy has yet to be loaded.
      
         - Reduce the work we do during inode initialization time
      
           This isn't likely to show up in any benchmark results, but we
           removed an unnecessary SELinux object class lookup/calculation
           during inode initialization.
      
         - Correct the return values in selinux_socket_getpeersec_dgram()
      
           We had some inconsistencies with respect to our return values
           across selinux_socket_getpeersec_dgram() and
           selinux_socket_getpeersec_stream().
      
           This provides a more uniform set of error codes across the two
           functions and should help make it easier for users to identify
           the source of a failure"
      
      * tag 'selinux-pr-20240312' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: (24 commits)
        selinux: fix style issues in security/selinux/ss/symtab.c
        selinux: fix style issues in security/selinux/ss/symtab.h
        selinux: fix style issues in security/selinux/ss/sidtab.c
        selinux: fix style issues in security/selinux/ss/sidtab.h
        selinux: fix style issues in security/selinux/ss/services.h
        selinux: fix style issues in security/selinux/ss/policydb.c
        selinux: fix style issues in security/selinux/ss/policydb.h
        selinux: fix style issues in security/selinux/ss/mls_types.h
        selinux: fix style issues in security/selinux/ss/mls.c
        selinux: fix style issues in security/selinux/ss/mls.h
        selinux: fix style issues in security/selinux/ss/hashtab.c
        selinux: fix style issues in security/selinux/ss/hashtab.h
        selinux: fix style issues in security/selinux/ss/ebitmap.c
        selinux: fix style issues in security/selinux/ss/ebitmap.h
        selinux: fix style issues in security/selinux/ss/context.h
        selinux: fix style issues in security/selinux/ss/context.h
        selinux: fix style issues in security/selinux/ss/constraint.h
        selinux: fix style issues in security/selinux/ss/conditional.c
        selinux: fix style issues in security/selinux/ss/conditional.h
        selinux: fix style issues in security/selinux/ss/avtab.c
        ...
      ca661c5e
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 9187210e
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core & protocols:
      
         - Large effort by Eric to lower rtnl_lock pressure and remove locks:
      
            - Make commonly used parts of rtnetlink (address, route dumps
              etc) lockless, protected by RCU instead of rtnl_lock.
      
            - Add a netns exit callback which already holds rtnl_lock,
              allowing netns exit to take rtnl_lock once in the core instead
              of once for each driver / callback.
      
            - Remove locks / serialization in the socket diag interface.
      
            - Remove 6 calls to synchronize_rcu() while holding rtnl_lock.
      
            - Remove the dev_base_lock, depend on RCU where necessary.
      
         - Support busy polling on a per-epoll context basis. Poll length and
           budget parameters can be set independently of system defaults.
      
         - Introduce struct net_hotdata, to make sure read-mostly global
           config variables fit in as few cache lines as possible.
      
         - Add optional per-nexthop statistics to ease monitoring / debug of
           ECMP imbalance problems.
      
         - Support TCP_NOTSENT_LOWAT in MPTCP.
      
         - Ensure that IPv6 temporary addresses' preferred lifetimes are long
           enough, compared to other configured lifetimes, and at least 2 sec.
      
         - Support forwarding of ICMP Error messages in IPSec, per RFC 4301.
      
         - Add support for the independent control state machine for bonding
           per IEEE 802.1AX-2008 5.4.15 in addition to the existing coupled
           control state machine.
      
         - Add "network ID" to MCTP socket APIs to support hosts with multiple
           disjoint MCTP networks.
      
         - Re-use the mono_delivery_time skbuff bit for packets which user
           space wants to be sent at a specified time. Maintain the timing
           information while traversing veth links, bridge etc.
      
         - Take advantage of MSG_SPLICE_PAGES for RxRPC DATA and ACK packets.
      
         - Simplify many places iterating over netdevs by using an xarray
           instead of a hash table walk (hash table remains in place, for use
           on fastpaths).
      
         - Speed up scanning for expired routes by keeping a dedicated list.
      
         - Speed up "generic" XDP by trying harder to avoid large allocations.
      
         - Support attaching arbitrary metadata to netconsole messages.
      
        Things we sprinkled into general kernel code:
      
         - Enforce VM_IOREMAP flag and range in ioremap_page_range and
           introduce VM_SPARSE kind and vm_area_[un]map_pages (used by
           bpf_arena).
      
         - Rework selftest harness to enable the use of the full range of ksft
           exit code (pass, fail, skip, xfail, xpass).
      
        Netfilter:
      
         - Allow userspace to define a table that is exclusively owned by a
           daemon (via netlink socket aliveness) without auto-removing this
           table when the userspace program exits. Such table gets marked as
           orphaned and a restarting management daemon can re-attach/regain
           ownership.
      
         - Speed up element insertions to nftables' concatenated-ranges set
           type. Compact a few related data structures.
      
        BPF:
      
         - Add BPF token support for delegating a subset of BPF subsystem
           functionality from privileged system-wide daemons such as systemd
           through special mount options for userns-bound BPF fs to a trusted
           & unprivileged application.
      
         - Introduce bpf_arena which is sparse shared memory region between
           BPF program and user space where structures inside the arena can
           have pointers to other areas of the arena, and pointers work
           seamlessly for both user-space programs and BPF programs.
      
         - Introduce may_goto instruction that is a contract between the
           verifier and the program. The verifier allows the program to loop
           assuming it's behaving well, but reserves the right to terminate
           it.
      
         - Extend the BPF verifier to enable static subprog calls in spin lock
           critical sections.
      
         - Support registration of struct_ops types from modules which helps
           projects like fuse-bpf that seeks to implement a new struct_ops
           type.
      
         - Add support for retrieval of cookies for perf/kprobe multi links.
      
         - Support arbitrary TCP SYN cookie generation / validation in the TC
           layer with BPF to allow creating SYN flood handling in BPF
           firewalls.
      
         - Add code generation to inline the bpf_kptr_xchg() helper which
           improves performance when stashing/popping the allocated BPF
           objects.
      
        Wireless:
      
         - Add SPP (signaling and payload protected) AMSDU support.
      
         - Support wider bandwidth OFDMA, as required for EHT operation.
      
        Driver API:
      
         - Major overhaul of the Energy Efficient Ethernet internals to
           support new link modes (2.5GE, 5GE), share more code between
           drivers (especially those using phylib), and encourage more
           uniform behavior. Convert and clean up drivers.
      
         - Define an API for querying per netdev queue statistics from
           drivers.
      
         - IPSec: account in global stats for fully offloaded sessions.
      
         - Create a concept of Ethernet PHY Packages at the Device Tree level,
           to allow parameterizing the existing PHY package code.
      
         - Enable Rx hashing (RSS) on GTP protocol fields.
      
        Misc:
      
         - Improvements and refactoring all over networking selftests.
      
         - Create uniform module aliases for TC classifiers, actions, and
           packet schedulers to simplify creating modprobe policies.
      
         - Address all missing MODULE_DESCRIPTION() warnings in networking.
      
         - Extend the Netlink descriptions in YAML to cover message
           encapsulation or "Netlink polymorphism", where interpretation of
           nested attributes depends on link type, classifier type or some
           other "class type".
      
        Drivers:
      
         - Ethernet high-speed NICs:
            - Add a new driver for Marvell's Octeon PCI Endpoint NIC VF.
            - Intel (100G, ice, idpf):
               - support E825-C devices
            - nVidia/Mellanox:
               - support devices with one port and multiple PCIe links
            - Broadcom (bnxt):
               - support n-tuple filters
               - support configuring the RSS key
            - Wangxun (ngbe/txgbe):
               - implement irq_domain for TXGBE's sub-interrupts
            - Pensando/AMD:
               - support XDP
               - optimize queue submission and wakeup handling (+17% bps)
               - optimize struct layout, saving 28% of memory on queues
      
         - Ethernet NICs embedded and virtual:
            - Google cloud vNIC:
               - refactor driver to perform memory allocations for new queue
                 config before stopping and freeing the old queue memory
            - Synopsys (stmmac):
               - obey queueMaxSDU and implement counters required by 802.1Qbv
            - Renesas (ravb):
               - support packet checksum offload
               - suspend to RAM and runtime PM support
      
         - Ethernet switches:
            - nVidia/Mellanox:
               - support for nexthop group statistics
            - Microchip:
               - ksz8: implement PHY loopback
               - add support for KSZ8567, a 7-port 10/100Mbps switch
      
         - PTP:
            - New driver for RENESAS FemtoClock3 Wireless clock generator.
            - Support OCP PTP cards designed and built by Adva.
      
         - CAN:
            - Support recvmsg() flags for own, local and remote traffic on CAN
              BCM sockets.
            - Support for esd GmbH PCIe/402 CAN device family.
            - m_can:
               - Rx/Tx submission coalescing
               - wake on frame Rx
      
         - WiFi:
            - Intel (iwlwifi):
               - enable signaling and payload protected A-MSDUs
               - support wider-bandwidth OFDMA
               - support for new devices
               - bump FW API to 89 for AX devices; 90 for BZ/SC devices
            - MediaTek (mt76):
               - mt7915: newer ADIE version support
               - mt7925: radio temperature sensor support
            - Qualcomm (ath11k):
               - support 6 GHz station power modes: Low Power Indoor (LPI),
                 Standard Power) SP and Very Low Power (VLP)
               - QCA6390 & WCN6855: support 2 concurrent station interfaces
               - QCA2066 support
            - Qualcomm (ath12k):
               - refactoring in preparation for Multi-Link Operation (MLO)
                 support
               - 1024 Block Ack window size support
               - firmware-2.bin support
               - support having multiple identical PCI devices (firmware needs
                 to have ATH12K_FW_FEATURE_MULTI_QRTR_ID)
               - QCN9274: support split-PHY devices
               - WCN7850: enable Power Save Mode in station mode
               - WCN7850: P2P support
            - RealTek:
               - rtw88: support for more rtw8811cu and rtw8821cu devices
               - rtw89: support SCAN_RANDOM_SN and SET_SCAN_DWELL
               - rtlwifi: speed up USB firmware initialization
               - rtwl8xxxu:
                   - RTL8188F: concurrent interface support
                   - Channel Switch Announcement (CSA) support in AP mode
            - Broadcom (brcmfmac):
               - per-vendor feature support
               - per-vendor SAE password setup
               - DMI nvram filename quirk for ACEPC W5 Pro"
      
      * tag 'net-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2255 commits)
        nexthop: Fix splat with CONFIG_DEBUG_PREEMPT=y
        nexthop: Fix out-of-bounds access during attribute validation
        nexthop: Only parse NHA_OP_FLAGS for dump messages that require it
        nexthop: Only parse NHA_OP_FLAGS for get messages that require it
        bpf: move sleepable flag from bpf_prog_aux to bpf_prog
        bpf: hardcode BPF_PROG_PACK_SIZE to 2MB * num_possible_nodes()
        selftests/bpf: Add kprobe multi triggering benchmarks
        ptp: Move from simple ida to xarray
        vxlan: Remove generic .ndo_get_stats64
        vxlan: Do not alloc tstats manually
        devlink: Add comments to use netlink gen tool
        nfp: flower: handle acti_netdevs allocation failure
        net/packet: Add getsockopt support for PACKET_COPY_THRESH
        net/netlink: Add getsockopt support for NETLINK_LISTEN_ALL_NSID
        selftests/bpf: Add bpf_arena_htab test.
        selftests/bpf: Add bpf_arena_list test.
        selftests/bpf: Add unit tests for bpf_arena_alloc/free_pages
        bpf: Add helper macro bpf_addr_space_cast()
        libbpf: Recognize __arena global variables.
        bpftool: Recognize arena map type
        ...
      9187210e
  2. 12 Mar, 2024 32 commits
    • Linus Torvalds's avatar
      Merge tag 'docs-6.9' of git://git.lwn.net/linux · 1f440397
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "A moderatly busy cycle for development this time around.
      
         - Some cleanup of the main index page for easier navigation
      
         - Rework some of the other top-level pages for better readability
           and, with luck, fewer merge conflicts in the future.
      
         - Submit-checklist improvements, hopefully the first of many.
      
         - New Italian translations
      
         - A fair number of kernel-doc fixes and improvements. We have also
           dropped the recommendation to use an old version of Sphinx.
      
         - A new document from Thorsten on bisection
      
        ... and lots of fixes and updates"
      
      * tag 'docs-6.9' of git://git.lwn.net/linux: (54 commits)
        docs: verify/bisect: fixes, finetuning, and support for Arch
        docs: Makefile: Add dependency to $(YNL_INDEX) for targets other than htmldocs
        docs: Move ja_JP/howto.rst to ja_JP/process/howto.rst
        docs: submit-checklist: use subheadings
        docs: submit-checklist: structure by category
        docs: new text on bisecting which also covers bug validation
        docs: drop the version constraints for sphinx and dependencies
        docs: kerneldoc-preamble.sty: Remove code for Sphinx <2.4
        docs: Restore "smart quotes" for quotes
        docs/zh_CN: accurate translation of "function"
        docs: Include simplified link titles in main index
        docs: Correct formatting of title in admin-guide/index.rst
        docs: kernel_feat.py: fix build error for missing files
        MAINTAINERS: Set the field name for subsystem profile section
        kasan: Add documentation for CONFIG_KASAN_EXTRA_INFO
        Fixed case issue with 'fault-injection' in documentation
        kernel-doc: handle #if in enums as well
        Documentation: update mailing list addresses
        doc: kerneldoc.py: fix indentation
        scripts/kernel-doc: simplify signature printing
        ...
      1f440397
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20240312' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 3749bda2
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Two small audit patches:
      
         - Use the KMEM_CACHE() macro instead of kmem_cache_create()
      
           The guidance appears to be to use the KMEM_CACHE() macro when
           possible and there is no reason why we can't use the macro, so
           let's use it.
      
         - Remove an unnecessary assignment in audit_dupe_lsm_field()
      
           A return value variable was assigned a value in its declaration,
           but the declaration value is overwritten before the return value
           variable is ever referenced; drop the assignment at declaration
           time"
      
      * tag 'audit-pr-20240312' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: use KMEM_CACHE() instead of kmem_cache_create()
        audit: remove unnecessary assignment in audit_dupe_lsm_field()
      3749bda2
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-6.9' of https://github.com/cschaufler/smack-next · 681ba318
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
      
       - Improvements to the initialization of in-memory inodes
      
       - A fix in ramfs to propery ensure the initialization of in-memory
         inodes
      
       - Removal of duplicated code in smack_cred_transfer()
      
      * tag 'Smack-for-6.9' of https://github.com/cschaufler/smack-next:
        Smack: use init_task_smack() in smack_cred_transfer()
        ramfs: Initialize security of in-memory inodes
        smack: Initialize the in-memory inode in smack_inode_init_security()
        smack: Always determine inode labels in smack_inode_init_security()
        smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity()
        smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr()
      681ba318
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 7f1a2774
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
       "There are no core kernel changes here; it's entirely selftests and
        samples:
      
         - Improve reliability of selftests (Terry Tritton, Kees Cook)
      
         - Fix strict-aliasing warning in samples (Arnd Bergmann)"
      
      * tag 'seccomp-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        samples: user-trap: fix strict-aliasing warning
        selftests/seccomp: Pin benchmark to single CPU
        selftests/seccomp: user_notification_addfd check nextfd is available
        selftests/seccomp: Change the syscall used in KILL_THREAD test
        selftests/seccomp: Handle EINVAL on unshare(CLONE_NEWPID)
      7f1a2774
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 216532e1
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
       "As is pretty normal for this tree, there are changes all over the
        place, especially for small fixes, selftest improvements, and improved
        macro usability.
      
        Some header changes ended up landing via this tree as they depended on
        the string header cleanups. Also, a notable set of changes is the work
        for the reintroduction of the UBSAN signed integer overflow sanitizer
        so that we can continue to make improvements on the compiler side to
        make this sanitizer a more viable future security hardening option.
      
        Summary:
      
         - string.h and related header cleanups (Tanzir Hasan, Andy
           Shevchenko)
      
         - VMCI memcpy() usage and struct_size() cleanups (Vasiliy Kovalev,
           Harshit Mogalapalli)
      
         - selftests/powerpc: Fix load_unaligned_zeropad build failure
           (Michael Ellerman)
      
         - hardened Kconfig fragment updates (Marco Elver, Lukas Bulwahn)
      
         - Handle tail call optimization better in LKDTM (Douglas Anderson)
      
         - Use long form types in overflow.h (Andy Shevchenko)
      
         - Add flags param to string_get_size() (Andy Shevchenko)
      
         - Add Coccinelle script for potential struct_size() use (Jacob
           Keller)
      
         - Fix objtool corner case under KCFI (Josh Poimboeuf)
      
         - Drop 13 year old backward compat CAP_SYS_ADMIN check (Jingzi Meng)
      
         - Add str_plural() helper (Michal Wajdeczko, Kees Cook)
      
         - Ignore relocations in .notes section
      
         - Add comments to explain how __is_constexpr() works
      
         - Fix m68k stack alignment expectations in stackinit Kunit test
      
         - Convert string selftests to KUnit
      
         - Add KUnit tests for fortified string functions
      
         - Improve reporting during fortified string warnings
      
         - Allow non-type arg to type_max() and type_min()
      
         - Allow strscpy() to be called with only 2 arguments
      
         - Add binary mode to leaking_addresses scanner
      
         - Various small cleanups to leaking_addresses scanner
      
         - Adding wrapping_*() arithmetic helper
      
         - Annotate initial signed integer wrap-around in refcount_t
      
         - Add explicit UBSAN section to MAINTAINERS
      
         - Fix UBSAN self-test warnings
      
         - Simplify UBSAN build via removal of CONFIG_UBSAN_SANITIZE_ALL
      
         - Reintroduce UBSAN's signed overflow sanitizer"
      
      * tag 'hardening-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (51 commits)
        selftests/powerpc: Fix load_unaligned_zeropad build failure
        string: Convert helpers selftest to KUnit
        string: Convert selftest to KUnit
        sh: Fix build with CONFIG_UBSAN=y
        compiler.h: Explain how __is_constexpr() works
        overflow: Allow non-type arg to type_max() and type_min()
        VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler()
        lib/string_helpers: Add flags param to string_get_size()
        x86, relocs: Ignore relocations in .notes section
        objtool: Fix UNWIND_HINT_{SAVE,RESTORE} across basic blocks
        overflow: Use POD in check_shl_overflow()
        lib: stackinit: Adjust target string to 8 bytes for m68k
        sparc: vdso: Disable UBSAN instrumentation
        kernel.h: Move lib/cmdline.c prototypes to string.h
        leaking_addresses: Provide mechanism to scan binary files
        leaking_addresses: Ignore input device status lines
        leaking_addresses: Use File::Temp for /tmp files
        MAINTAINERS: Update LEAKING_ADDRESSES details
        fortify: Improve buffer overflow reporting
        fortify: Add KUnit tests for runtime overflows
        ...
      216532e1
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b32273ee
      Linus Torvalds authored
      Pull execve updates from Kees Cook:
      
       - Drop needless error path code in remove_arg_zero() (Li kunyu, Kees
         Cook)
      
       - binfmt_elf_efpic: Don't use missing interpreter's properties (Max
         Filippov)
      
       - Use /bin/bash for execveat selftests
      
      * tag 'execve-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        exec: Simplify remove_arg_zero() error path
        selftests/exec: Perform script checks with /bin/bash
        exec: Delete unnecessary statements in remove_arg_zero()
        fs: binfmt_elf_efpic: don't use missing interpreter's properties
      b32273ee
    • Linus Torvalds's avatar
      Merge tag 'pstore-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 41cb8c33
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
      
       - Make PSTORE_RAM available by default on arm64 (Nícolas F R A Prado)
      
       - Allow for dynamic initialization in modular build (Guilherme G
         Piccoli)
      
       - Add missing allocation failure check (Kunwu Chan)
      
       - Avoid duplicate memory zeroing (Christophe JAILLET)
      
       - Avoid potential double-free during pstorefs umount
      
      * tag 'pstore-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/zone: Don't clear memory twice
        pstore/zone: Add a null pointer check to the psz_kmsg_read
        efi: pstore: Allow dynamic initialization based on module parameter
        arm64: defconfig: Enable PSTORE_RAM
        pstore/ram: Register to module device table
        pstore: inode: Only d_invalidate() is needed
      41cb8c33
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · a01c9fe3
      Linus Torvalds authored
      Pull nfsd updates from Chuck Lever:
       "The bulk of the patches for this release are optimizations, code
        clean-ups, and minor bug fixes.
      
        One new feature to mention is that NFSD administrators now have the
        ability to revoke NFSv4 open and lock state. NFSD's NFSv3 support has
        had this capability for some time.
      
        As always I am grateful to NFSD contributors, reviewers, and testers"
      
      * tag 'nfsd-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (75 commits)
        NFSD: Clean up nfsd4_encode_replay()
        NFSD: send OP_CB_RECALL_ANY to clients when number of delegations reaches its limit
        NFSD: Document nfsd_setattr() fill-attributes behavior
        nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr()
        nfsd: Fix a regression in nfsd_setattr()
        NFSD: OP_CB_RECALL_ANY should recall both read and write delegations
        NFSD: handle GETATTR conflict with write delegation
        NFSD: add support for CB_GETATTR callback
        NFSD: Document the phases of CREATE_SESSION
        NFSD: Fix the NFSv4.1 CREATE_SESSION operation
        nfsd: clean up comments over nfs4_client definition
        svcrdma: Add Write chunk WRs to the RPC's Send WR chain
        svcrdma: Post WRs for Write chunks in svc_rdma_sendto()
        svcrdma: Post the Reply chunk and Send WR together
        svcrdma: Move write_info for Reply chunks into struct svc_rdma_send_ctxt
        svcrdma: Post Send WR chain
        svcrdma: Fix retry loop in svc_rdma_send()
        svcrdma: Prevent a UAF in svc_rdma_send()
        svcrdma: Fix SQ wake-ups
        svcrdma: Increase the per-transport rw_ctx count
        ...
      a01c9fe3
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · f153fbe1
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "In this cycle, we introduce compressed inode support over fscache
        since a lot of native EROFS images are explicitly compressed so that
        EROFS over fscache can be more widely used even without Dragonfly
        Nydus [1].
      
        Apart from that, there are some folio conversions for compressed
        inodes available as well as a lockdep false positive fix.
      
        Summary:
      
         - Some folio conversions for compressed inodes;
      
         - Add compressed inode support over fscache;
      
         - Fix lockdep false positives of erofs_pseudo_mnt"
      
      Link: https://nydus.dev [1]
      
      * tag 'erofs-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: support compressed inodes over fscache
        erofs: make iov_iter describe target buffers over fscache
        erofs: fix lockdep false positives on initializing erofs_pseudo_mnt
        erofs: refine managed cache operations to folios
        erofs: convert z_erofs_submissionqueue_endio() to folios
        erofs: convert z_erofs_fill_bio_vec() to folios
        erofs: get rid of `justfound` debugging tag
        erofs: convert z_erofs_do_read_page() to folios
        erofs: convert z_erofs_onlinepage_.* to folios
      f153fbe1
    • Linus Torvalds's avatar
      Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux · d453cc5a
      Linus Torvalds authored
      Pull fsverity update from Eric Biggers:
       "Slightly improve data verification performance by eliminating an
        unnecessary lock"
      
      * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
        fsverity: remove hash page spin lock
      d453cc5a
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux · 3bf95d56
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
       "Fix flakiness in a test by releasing the quota synchronously when a
        key is removed, and other minor cleanups"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
        fscrypt: shrink the size of struct fscrypt_inode_info slightly
        fscrypt: write CBC-CTS instead of CTS-CBC
        fscrypt: clear keyring before calling key_put()
        fscrypt: explicitly require that inode->i_blkbits be set
      3bf95d56
    • Linus Torvalds's avatar
      Merge tag 'affs-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · cbcb9b5b
      Linus Torvalds authored
      Pull affs update from David Sterba:
       "One change to AFFS that removes use of SLAB_MEM_SPREAD, which is going
        to be removed from MM code"
      
      * tag 'affs-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        affs: remove SLAB_MEM_SPREAD flag usage
      cbcb9b5b
    • Linus Torvalds's avatar
      Merge tag 'for-6.9-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 43a7548e
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Mostly stabilization, refactoring and cleanup changes. There rest are
        minor performance optimizations due to caching or lock contention
        reduction and a few notable fixes.
      
        Performance improvements:
      
         - minor speedup in logging when repeatedly allocated structure is
           preallocated only once, improves latency and decreases lock
           contention
      
         - minor throughput increase (+6%), reduced lock contention after
           clearing delayed allocation bits, applies to several common
           workload types
      
         - skip full quota rescan if a new relation is added in the same
           transaction
      
        Fixes:
      
         - zstd fix for inline compressed file in subpage mode, updated
           version from the 6.8 time
      
         - proper qgroup inheritance ioctl parameter validation
      
         - more fiemap followup fixes after reduced locking done in 6.8:
            - fix race when detecting delalloc ranges
      
        Core changes:
      
         - more debugging code:
            - added assertions for a very rare crash in raid56 calculation
            - tree-checker dumps page state to give more insights into
              possible reference counting issues
      
         - add checksum calculation offloading sysfs knob, for now enabled
           under DEBUG only to determine a good heuristic for deciding the
           offload or synchronous, depends on various factors (block group
           profile, device speed) and is not as clear as initially thought
           (checksum type)
      
         - error handling improvements, added assertions
      
         - more page to folio conversion (defrag, truncate), cached size and
           shift
      
         - preparation for more fine grained locking of sectors in subpage
           mode
      
         - cleanups and refactoring:
            - include cleanups, forward declarations
            - pointer-to-structure helpers
            - redundant argument removals
            - removed unused code
            - slab cache updates, last use of SLAB_MEM_SPREAD removed"
      
      * tag 'for-6.9-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (114 commits)
        btrfs: reuse cloned extent buffer during fiemap to avoid re-allocations
        btrfs: fix race when detecting delalloc ranges during fiemap
        btrfs: fix off-by-one chunk length calculation at contains_pending_extent()
        btrfs: qgroup: allow quick inherit if snapshot is created and added to the same parent
        btrfs: qgroup: validate btrfs_qgroup_inherit parameter
        btrfs: include device major and minor numbers in the device scan notice
        btrfs: mark btrfs_put_caching_control() static
        btrfs: remove SLAB_MEM_SPREAD flag use
        btrfs: qgroup: always free reserved space for extent records
        btrfs: tree-checker: dump the page status if hit something wrong
        btrfs: compression: remove dead comments in btrfs_compress_heuristic()
        btrfs: subpage: make writer lock utilize bitmap
        btrfs: subpage: make reader lock utilize bitmap
        btrfs: unexport btrfs_subpage_start_writer() and btrfs_subpage_end_and_test_writer()
        btrfs: pass a valid extent map cache pointer to __get_extent_map()
        btrfs: merge btrfs_del_delalloc_inode() helpers
        btrfs: pass btrfs_device to btrfs_scratch_superblocks()
        btrfs: handle transaction commit errors in flush_reservations()
        btrfs: use KMEM_CACHE() to create btrfs_free_space cache
        btrfs: use KMEM_CACHE() to create delayed ref caches
        ...
      43a7548e
    • Linus Torvalds's avatar
      Merge tag 'zonefs-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · 35d4aeea
      Linus Torvalds authored
      Pull zonefs update from Damien Le Moal:
      
       - A single change for this cycle to convert zonefs to use the new
         mount API
      
      * tag 'zonefs-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: convert zonefs to use the new mount api
      35d4aeea
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 65d287c7
      Linus Torvalds authored
      Pull asm-generic updates from Arnd Bergmann:
       "Just two small updates this time:
      
         - A series I did to unify the definition of PAGE_SIZE through
           Kconfig, intended to help with a vdso rework that needs the
           constant but cannot include the normal kernel headers when building
           the compat VDSO on arm64 and potentially others
      
         - a patch from Yan Zhao to remove the pfn_to_virt() definitions from
           a couple of architectures after finding they were both incorrect
           and entirely unused"
      
      * tag 'asm-generic-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        arch: define CONFIG_PAGE_SIZE_*KB on all architectures
        arch: simplify architecture specific page size configuration
        arch: consolidate existing CONFIG_PAGE_SIZE_*KB definitions
        mm: Remove broken pfn_to_virt() on arch csky/hexagon/openrisc
      65d287c7
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 3efa10eb
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "This has the usual updates to enable platform specific driver modules
        as new hardware gets supported, as well as an update to the
        virt.config fragment so we disable all newly added platforms again"
      
      * tag 'soc-defconfig-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        arm64: defconfig: Enable support for cbmem entries in the coreboot table
        ARM: defconfig: enable STMicroelectronics accelerometer and gyro for Exynos
        arm64: defconfig: drop ext2 filesystem and redundant ext3
        arm64: defconfig: Enable Rockchip HDMI/eDP Combo PHY
        arm64: defconfig: Enable Wave5 Video Encoder/Decoder
        arm64: config: disable new platforms in virt.config
        arm64: defconfig: Enable QCOM PBS
        arm64: deconfig: enable Goodix Berlin SPI touchscreen driver as module
        arm64: defconfig: Enable X1E80100 multimedia clock controllers configs
        arm64: defconfig: Enable GCC and interconnect for QDU1000/QRU1000
        arm64: defconfig: enable i.MX8MP ldb bridge
        arm64: defconfig: enable the vf610 gpio driver
        ARM: imx_v6_v7_defconfig: enable the vf610 gpio driver
        ARM: multi_v7_defconfig: Add more TI Keystone support
        arm64: defconfig: enable WCD939x USBSS driver as module
        arm64: defconfig: enable audio drivers for SM8650 QRD board
        arm64: defconfig: Enable Qualcomm interconnect providers
        ARM: multi_v7_defconfig: Enable BACKLIGHT_CLASS_DEVICE
        arm64: defconfig: Enable i.MX8QXP device drivers
        ARM: multi_v7_defconfig: Add more TI Keystone support
        ...
      3efa10eb
    • Linus Torvalds's avatar
      Merge tag 'soc-arm-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a6081672
      Linus Torvalds authored
      Pull ARM SoC code updates from Arnd Bergmann:
       "These are mostly minor updates, including a number of kerneldoc fixes
        from Randy Dunlap across multiple platforms. OMAP gets a few bugfixes,
        and the MAINTAINERS file gets updated for AMD Zynq and NXP S32G"
      
      * tag 'soc-arm-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (23 commits)
        ARM: s32c: update MAINTAINERS entry
        ARM: AM33xx: PRM: Implement REBOOT_COLD
        ARM: AM33xx: PRM: Remove redundand defines
        ARM: omap1: remove duplicated 'select ARCH_OMAP'
        ARM: s3c64xx: make bus_type const
        ARM: imx: Remove usage of the deprecated ida_simple_xx() API
        ARM: OMAP2+: fix kernel-doc warnings
        ARM: OMAP2+: fix kernel-doc warnings
        ARM: OMAP2+: fix a kernel-doc warning
        ARM: OMAP2+: PRM: fix kernel-doc warnings
        ARM: OMAP2+: prm44xx: fix a kernel-doc warning
        ARM: OMAP2+: pmic-cpcap: fix kernel-doc warnings
        ARM: OMAP2+: hwmod: fix kernel-doc warnings
        ARM: OMAP2+: hwmod: remove misuse of kernel-doc
        ARM: OMAP2+: CMINST: use matching function name in kernel-doc
        ARM: OMAP2+: cm33xx: use matching function name in kernel-doc
        ARM: OMAP2+: clock: fix a function name in kernel-doc
        ARM: OMAP2+: clockdomain: fix kernel-doc warnings
        ARM: OMAP2+: am33xx-restart: fix function name in kernel-doc
        soc: xilinx: update maintainer of event manager driver
        ...
      a6081672
    • Linus Torvalds's avatar
      Merge tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 2184dbcd
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "This is the usual mix of updates for drivers that are used on (mostly
        ARM) SoCs with no other top-level subsystem tree, including:
      
         - The SCMI firmware subsystem gains support for version 3.2 of the
           specification and updates to the notification code
      
         - Feature updates for Tegra and Qualcomm platforms for added hardware
           support
      
         - A number of platforms get soc_device additions for identifying
           newly added chips from Renesas, Qualcomm, Mediatek and Google
      
         - Trivial improvements for firmware and memory drivers amongst
           others, in particular 'const' annotations throughout multiple
           subsystems"
      
      * tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (96 commits)
        tee: make tee_bus_type const
        soc: qcom: aoss: add missing kerneldoc for qmp members
        soc: qcom: geni-se: drop unused kerneldoc struct geni_wrapper param
        soc: qcom: spm: fix building with CONFIG_REGULATOR=n
        bus: ti-sysc: constify the struct device_type usage
        memory: stm32-fmc2-ebi: keep power domain on
        memory: stm32-fmc2-ebi: add MP25 RIF support
        memory: stm32-fmc2-ebi: add MP25 support
        memory: stm32-fmc2-ebi: check regmap_read return value
        dt-bindings: memory-controller: st,stm32: add MP25 support
        dt-bindings: bus: imx-weim: convert to YAML
        watchdog: s3c2410_wdt: use exynos_get_pmu_regmap_by_phandle() for PMU regs
        soc: samsung: exynos-pmu: Add regmap support for SoCs that protect PMU regs
        MAINTAINERS: Update SCMI entry with HWMON driver
        MAINTAINERS: samsung: gs101: match patches touching Google Tensor SoC
        memory: tegra: Fix indentation
        memory: tegra: Add BPMP and ICC info for DLA clients
        memory: tegra: Correct DLA client names
        dt-bindings: memory: renesas,rpc-if: Document R-Car V4M support
        firmware: arm_scmi: Update the supported clock protocol version
        ...
      2184dbcd
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 306bee64
      Linus Torvalds authored
      Pull SoC device tree updates from Arnd Bergmann:
       "There is very little going on with new SoC support this time, all the
        new chips are variations of others that we already support, and they
        are all based on ARMv8 cores:
      
         - Mediatek MT7981B (Filogic 820) and MT7988A (Filogic 880) are
           networking SoCs designed to be used in wireless routers, similar to
           the already supported MT7986A (Filogic 830).
      
         - NXP i.MX8DXP is a variant of i.MX8QXP, with two CPU cores less.
           These are used in many embedded and industrial applications.
      
         - Renesas R8A779G2 (R-Car V4H ES2.0) and R8A779H0 (R-Car V4M) are
           automotive SoCs.
      
         - TI J722S is another automotive variant of its K3 family, related to
           the AM62 series.
      
        There are a total of 7 new arm32 machines and 45 arm64 ones, including
      
         - Two Android phones based on the old Tegra30 chip
      
         - Two machines using Cortex-A53 SoCs from Allwinner, a mini PC and a
           SoM development board
      
         - A set-top box using Amlogic Meson G12A S905X2
      
         - Eight embedded board using NXP i.MX6/8/9
      
         - Three machines using Mediatek network router chips
      
         - Ten Chromebooks, all based on Mediatek MT8186
      
         - One development board based on Mediatek MT8395 (Genio 1200)
      
         - Seven tablets and phones based on Qualcomm SoCs, most of them from
           Samsung.
      
         - A third development board for Qualcomm SM8550 (Snapdragon 8 Gen 2)
      
         - Three variants of the "White Hawk" board for Renesas automotive
           SoCs
      
         - Ten Rockchips RK35xx based machines, including NAS, Tablet, Game
           console and industrial form factors.
      
         - Three evaluation boards for TI K3 based SoCs
      
        The other changes are mainly the usual feature additions for existing
        hardware, cleanups, and dtc compile time fixes. One notable change is
        the inclusion of PowerVR SGX GPU nodes on TI SoCs"
      
      * tag 'soc-dt-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (824 commits)
        riscv: dts: Move BUILTIN_DTB_SOURCE to common Kconfig
        riscv: dts: starfive: jh7100: fix root clock names
        ARM: dts: samsung: exynos4412: decrease memory to account for unusable region
        arm64: dts: qcom: sm8250-xiaomi-elish: set rotation
        arm64: dts: qcom: sm8650: Fix SPMI channels size
        arm64: dts: qcom: sm8550: Fix SPMI channels size
        arm64: dts: rockchip: Fix name for UART pin header on qnap-ts433
        arm: dts: marvell: clearfog-gtr-l8: align port numbers with enclosure
        arm: dts: marvell: clearfog-gtr-l8: add support for second sfp connector
        dt-bindings: soc: renesas: renesas-soc: Add pattern for gray-hawk
        dtc: Enable dtc interrupt_provider check
        arm64: dts: st: add video encoder support to stm32mp255
        arm64: dts: st: add video decoder support to stm32mp255
        ARM: dts: stm32: enable crypto accelerator on stm32mp135f-dk
        ARM: dts: stm32: enable CRC on stm32mp135f-dk
        ARM: dts: stm32: add CRC on stm32mp131
        ARM: dts: add stm32f769-disco-mb1166-reva09
        ARM: dts: stm32: add display support on stm32f769-disco
        ARM: dts: stm32: rename mmc_vcard to vcc-3v3 on stm32f769-disco
        ARM: dts: stm32: add DSI support on stm32f769
        ...
      306bee64
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 508f34f2
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Make the Zorro bus type constant
      
       - defconfig updates
      
      * tag 'm68k-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: defconfig: Update defconfigs for v6.8-rc1
        zorro: Make zorro_bus_type const
      508f34f2
    • Linus Torvalds's avatar
      Merge tag 's390-6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 691632f0
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
      
       - Various virtual vs physical address usage fixes
      
       - Fix error handling in Processor Activity Instrumentation device
         driver, and export number of counters with a sysfs file
      
       - Allow for multiple events when Processor Activity Instrumentation
         counters are monitored in system wide sampling
      
       - Change multiplier and shift values of the Time-of-Day clock source to
         improve steering precision
      
       - Remove a couple of unneeded GFP_DMA flags from allocations
      
       - Disable mmap alignment if randomize_va_space is also disabled, to
         avoid a too small heap
      
       - Various changes to allow s390 to be compiled with LLVM=1, since
         ld.lld and llvm-objcopy will have proper s390 support witch clang 19
      
       - Add __uninitialized macro to Compiler Attributes. This is helpful
         with s390's FPU code where some users have up to 520 byte stack
         frames. Clearing such stack frames (if INIT_STACK_ALL_PATTERN or
         INIT_STACK_ALL_ZERO is enabled) before they are used contradicts the
         intention (performance improvement) of such code sections.
      
       - Convert switch_to() to an out-of-line function, and use the generic
         switch_to header file
      
       - Replace the usage of s390's debug feature with pr_debug() calls
         within the zcrypt device driver
      
       - Improve hotplug support of the Adjunct Processor device driver
      
       - Improve retry handling in the zcrypt device driver
      
       - Various changes to the in-kernel FPU code:
      
           - Make in-kernel FPU sections preemptible
      
           - Convert various larger inline assemblies and assembler files to
             C, mainly by using singe instruction inline assemblies. This
             increases readability, but also allows makes it easier to add
             proper instrumentation hooks
      
           - Cleanup of the header files
      
       - Provide fast variants of csum_partial() and
         csum_partial_copy_nocheck() based on vector instructions
      
       - Introduce and use a lock to synchronize accesses to zpci device data
         structures to avoid inconsistent states caused by concurrent accesses
      
       - Compile the kernel without -fPIE. This addresses the following
         problems if the kernel is compiled with -fPIE:
      
           - It uses dynamic symbols (.dynsym), for which the linker refuses
             to allow more than 64k sections. This can break features which
             use '-ffunction-sections' and '-fdata-sections', including
             kpatch-build and function granular KASLR
      
           - It unnecessarily uses GOT relocations, adding an extra layer of
             indirection for many memory accesses
      
       - Fix shared_cpu_list for CPU private L2 caches, which incorrectly were
         reported as globally shared
      
      * tag 's390-6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (117 commits)
        s390/tools: handle rela R_390_GOTPCDBL/R_390_GOTOFF64
        s390/cache: prevent rebuild of shared_cpu_list
        s390/crypto: remove retry loop with sleep from PAES pkey invocation
        s390/pkey: improve pkey retry behavior
        s390/zcrypt: improve zcrypt retry behavior
        s390/zcrypt: introduce retries on in-kernel send CPRB functions
        s390/ap: introduce mutex to lock the AP bus scan
        s390/ap: rework ap_scan_bus() to return true on config change
        s390/ap: clarify AP scan bus related functions and variables
        s390/ap: rearm APQNs bindings complete completion
        s390/configs: increase number of LOCKDEP_BITS
        s390/vfio-ap: handle hardware checkstop state on queue reset operation
        s390/pai: change sampling event assignment for PMU device driver
        s390/boot: fix minor comment style damages
        s390/boot: do not check for zero-termination relocation entry
        s390/boot: make type of __vmlinux_relocs_64_start|end consistent
        s390/boot: sanitize kaslr_adjust_relocs() function prototype
        s390/boot: simplify GOT handling
        s390: vmlinux.lds.S: fix .got.plt assertion
        s390/boot: workaround current 'llvm-objdump -t -j ...' behavior
        ...
      691632f0
    • Linus Torvalds's avatar
      Merge tag 'x86-boot-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b29f3771
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
      
       - Continuing work by Ard Biesheuvel to improve the x86 early startup
         code, with the long-term goal to make it position independent:
      
            - Get rid of early accesses to global objects, either by moving
              them to the stack, deferring the access until later, or dropping
              the globals entirely
      
            - Move all code that runs early via the 1:1 mapping into
              .head.text, and move code that does not out of it, so that build
              time checks can be added later to ensure that no inadvertent
              absolute references were emitted into code that does not
              tolerate them
      
            - Remove fixup_pointer() and occurrences of __pa_symbol(), which
              rely on the compiler emitting absolute references, which is not
              guaranteed
      
       - Improve the early console code
      
       - Add early console message about ignored NMIs, so that users are at
         least warned about their existence - even if we cannot do anything
         about them
      
       - Improve the kexec code's kernel load address handling
      
       - Enable more X86S (simplified x86) bits
      
       - Simplify early boot GDT handling
      
       - Micro-optimize the boot code a bit
      
       - Misc cleanups
      
      * tag 'x86-boot-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        x86/sev: Move early startup code into .head.text section
        x86/sme: Move early SME kernel encryption handling into .head.text
        x86/boot: Move mem_encrypt= parsing to the decompressor
        efi/libstub: Add generic support for parsing mem_encrypt=
        x86/startup_64: Simplify virtual switch on primary boot
        x86/startup_64: Simplify calculation of initial page table address
        x86/startup_64: Defer assignment of 5-level paging global variables
        x86/startup_64: Simplify CR4 handling in startup code
        x86/boot: Use 32-bit XOR to clear registers
        efi/x86: Set the PE/COFF header's NX compat flag unconditionally
        x86/boot/64: Load the final kernel GDT during early boot directly, remove startup_gdt[]
        x86/boot/64: Use RIP_REL_REF() to access early_top_pgt[]
        x86/boot/64: Use RIP_REL_REF() to access early page tables
        x86/boot/64: Use RIP_REL_REF() to access '__supported_pte_mask'
        x86/boot/64: Use RIP_REL_REF() to access early_dynamic_pgts[]
        x86/boot/64: Use RIP_REL_REF() to assign 'phys_base'
        x86/boot/64: Simplify global variable accesses in GDT/IDT programming
        x86/trampoline: Bypass compat mode in trampoline_start64() if not needed
        kexec: Allocate kernel above bzImage's pref_address
        x86/boot: Add a message about ignored early NMIs
        ...
      b29f3771
    • Linus Torvalds's avatar
      Merge tag 'x86-apic-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e66c58f7
      Linus Torvalds authored
      Pull x86 APIC fixup from Dave Hansen:
       "Revert VERW fixed addressing patch.
      
        The reverted commit is not x86/apic material and was cruft left over
        from a merge.
      
        I believe the sequence of events went something like this:
      
         - The commit in question was added to x86/urgent
      
         - x86/urgent was merged into x86/apic to resolve a conflict
      
         - The commit was zapped from x86/urgent, but *not* from x86/apic
      
         - x86/apic got pullled (yesterday)
      
        I think we need to be a bit more vigilant when zapping things to make
        sure none of the other branches are depending on the zapped material"
      
      * tag 'x86-apic-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "x86/bugs: Use fixed addressing for VERW operand"
      e66c58f7
    • Linus Torvalds's avatar
      Merge tag 'rfds-for-linus-2024-03-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0e33cf95
      Linus Torvalds authored
      Pull x86 RFDS mitigation from Dave Hansen:
       "RFDS is a CPU vulnerability that may allow a malicious userspace to
        infer stale register values from kernel space. Kernel registers can
        have all kinds of secrets in them so the mitigation is basically to
        wait until the kernel is about to return to userspace and has user
        values in the registers. At that point there is little chance of
        kernel secrets ending up in the registers and the microarchitectural
        state can be cleared.
      
        This leverages some recent robustness fixes for the existing MDS
        vulnerability. Both MDS and RFDS use the VERW instruction for
        mitigation"
      
      * tag 'rfds-for-linus-2024-03-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        KVM/x86: Export RFDS_NO and RFDS_CLEAR to guests
        x86/rfds: Mitigate Register File Data Sampling (RFDS)
        Documentation/hw-vuln: Add documentation for RFDS
        x86/mmio: Disable KVM mitigation when X86_FEATURE_CLEAR_CPU_BUF is set
      0e33cf95
    • Dave Hansen's avatar
      Revert "x86/bugs: Use fixed addressing for VERW operand" · 532a0c57
      Dave Hansen authored
      This was reverts commit 8009479e.
      
      It was originally in x86/urgent, but was deemed wrong so got zapped.
      But in the meantime, x86/urgent had been merged into x86/apic to
      resolve a conflict.  I didn't notice the merge so didn't zap it
      from x86/apic and it managed to make it up with the x86/apic
      material.
      
      The reverted commit is known to cause some KASAN problems.
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      532a0c57
    • Vlastimil Babka's avatar
      Merge branch 'slab/for-6.9/slab-flag-cleanups' into slab/for-linus · 1a1c4e45
      Vlastimil Babka authored
      Merge a series from myself that replaces hardcoded SLAB_ cache flag
      values with an enum, and explicitly deprecates the SLAB_MEM_SPREAD flag
      that is a no-op sine SLAB removal.
      1a1c4e45
    • Vlastimil Babka's avatar
      Merge branch 'slab/for-6.9/optimize-get-freelist' into slab/for-linus · 466ed9ee
      Vlastimil Babka authored
      Merge a series from Chengming Zhou that optimizes cpu freelist loading
      when grabbing a cpu partial slab, and removes some unnecessary code.
      466ed9ee
    • Ingo Molnar's avatar
      Merge branch 'linus' into x86/boot, to resolve conflict · 2e2bc42c
      Ingo Molnar authored
      There's a new conflict with Linus's upstream tree, because
      in the following merge conflict resolution in <asm/coco.h>:
      
        38b334fc Merge tag 'x86_sev_for_v6.9_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Linus has resolved the conflicting placement of 'cc_mask' better
      than the original commit:
      
        1c811d40 x86/sev: Fix position dependent variable references in startup code
      
      ... which was also done by an internal merge resolution:
      
        2e5fc478 Merge branch 'x86/sev' into x86/boot, to resolve conflicts and to pick up dependent tree
      
      But Linus is right in 38b334fc, the 'cc_mask' declaration is sufficient
      within the #ifdef CONFIG_ARCH_HAS_CC_PLATFORM block.
      
      So instead of forcing Linus to do the same resolution again, merge in Linus's
      tree and follow his conflict resolution.
      
       Conflicts:
      	arch/x86/include/asm/coco.h
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      2e2bc42c
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · ed1f1640
      Jakub Kicinski authored
      Merge in late fixes to prepare for the 6.9 net-next PR.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ed1f1640
    • Jakub Kicinski's avatar
      Merge branch 'nexthop-fix-two-nexthop-group-statistics-issues' · a318d3d5
      Jakub Kicinski authored
      Ido Schimmel says:
      
      ====================
      nexthop: Fix two nexthop group statistics issues
      
      Fix two issues that were introduced as part of the recent nexthop group
      statistics submission. See the commit messages for more details.
      ====================
      
      Link: https://lore.kernel.org/r/20240311162307.545385-1-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a318d3d5
    • Ido Schimmel's avatar
      nexthop: Fix splat with CONFIG_DEBUG_PREEMPT=y · e006858f
      Ido Schimmel authored
      Locally generated packets can increment the new nexthop statistics from
      process context, resulting in the following splat [1] due to preemption
      being enabled. Fix by using get_cpu_ptr() / put_cpu_ptr() which will
      which take care of disabling / enabling preemption.
      
      BUG: using smp_processor_id() in preemptible [00000000] code: ping/949
      caller is nexthop_select_path+0xcf8/0x1e30
      CPU: 12 PID: 949 Comm: ping Not tainted 6.8.0-rc7-custom-gcb450f605fae #11
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-1.fc38 04/01/2014
      Call Trace:
       <TASK>
       dump_stack_lvl+0xbd/0xe0
       check_preemption_disabled+0xce/0xe0
       nexthop_select_path+0xcf8/0x1e30
       fib_select_multipath+0x865/0x18b0
       fib_select_path+0x311/0x1160
       ip_route_output_key_hash_rcu+0xe54/0x2720
       ip_route_output_key_hash+0x193/0x380
       ip_route_output_flow+0x25/0x130
       raw_sendmsg+0xbab/0x34a0
       inet_sendmsg+0xa2/0xe0
       __sys_sendto+0x2ad/0x430
       __x64_sys_sendto+0xe5/0x1c0
       do_syscall_64+0xc5/0x1d0
       entry_SYSCALL_64_after_hwframe+0x63/0x6b
      [...]
      
      Fixes: f4676ea7 ("net: nexthop: Add nexthop group entry stats")
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20240311162307.545385-5-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e006858f
    • Ido Schimmel's avatar
      nexthop: Fix out-of-bounds access during attribute validation · d8a21070
      Ido Schimmel authored
      Passing a maximum attribute type to nlmsg_parse() that is larger than
      the size of the passed policy will result in an out-of-bounds access [1]
      when the attribute type is used as an index into the policy array.
      
      Fix by setting the maximum attribute type according to the policy size,
      as is already done for RTM_NEWNEXTHOP messages. Add a test case that
      triggers the bug.
      
      No regressions in fib nexthops tests:
      
       # ./fib_nexthops.sh
       [...]
       Tests passed: 236
       Tests failed:   0
      
      [1]
      BUG: KASAN: global-out-of-bounds in __nla_validate_parse+0x1e53/0x2940
      Read of size 1 at addr ffffffff99ab4d20 by task ip/610
      
      CPU: 3 PID: 610 Comm: ip Not tainted 6.8.0-rc7-custom-gd435d6e3e161 #9
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-1.fc38 04/01/2014
      Call Trace:
       <TASK>
       dump_stack_lvl+0x8f/0xe0
       print_report+0xcf/0x670
       kasan_report+0xd8/0x110
       __nla_validate_parse+0x1e53/0x2940
       __nla_parse+0x40/0x50
       rtm_del_nexthop+0x1bd/0x400
       rtnetlink_rcv_msg+0x3cc/0xf20
       netlink_rcv_skb+0x170/0x440
       netlink_unicast+0x540/0x820
       netlink_sendmsg+0x8d3/0xdb0
       ____sys_sendmsg+0x31f/0xa60
       ___sys_sendmsg+0x13a/0x1e0
       __sys_sendmsg+0x11c/0x1f0
       do_syscall_64+0xc5/0x1d0
       entry_SYSCALL_64_after_hwframe+0x63/0x6b
      [...]
      
      The buggy address belongs to the variable:
       rtm_nh_policy_del+0x20/0x40
      
      Fixes: 2118f939 ("net: nexthop: Adjust netlink policy parsing for a new attribute")
      Reported-by: default avatarEric Dumazet <edumazet@google.com>
      Closes: https://lore.kernel.org/netdev/CANn89i+UNcG0PJMW5X7gOMunF38ryMh=L1aeZUKH3kL4UdUqag@mail.gmail.com/
      Reported-by: syzbot+65bb09a7208ce3d4a633@syzkaller.appspotmail.com
      Closes: https://lore.kernel.org/netdev/00000000000088981b06133bc07b@google.com/Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20240311162307.545385-4-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d8a21070