1. 23 Aug, 2024 2 commits
  2. 19 Aug, 2024 3 commits
  3. 11 Aug, 2024 10 commits
    • Yishai Hadas's avatar
      RDMA/mlx5: Introduce GET_DATA_DIRECT_SYSFS_PATH ioctl · ec7ad653
      Yishai Hadas authored
      Introduce the 'GET_DATA_DIRECT_SYSFS_PATH' ioctl to return the sysfs
      path of the affiliated 'data direct' device for a given device.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/403745463e0ef52adbef681ff09aa6a29a756352.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      ec7ad653
    • Yishai Hadas's avatar
      RDMA/mlx5: Add support for DMABUF MR registrations with Data-direct · de8f847a
      Yishai Hadas authored
      Add support for DMABUF MR registrations with Data-direct device.
      
      Upon userspace calling to register a DMABUF MR with the data direct bit
      set, the below algorithm will be followed.
      
      1) Obtain a pinned DMABUF umem from the IB core using the user input
      parameters (FD, offset, length) and the DMA PF device.  The DMA PF
      device is needed to allow the IOMMU to enable the DMA PF to access the
      user buffer over PCI.
      
      2) Create a KSM MKEY by setting its entries according to the user buffer
      VA to IOVA mapping, with the MKEY being the data direct device-crossed
      MKEY. This KSM MKEY is umrable and will be used as part of the MR cache.
      The PD for creating it is the internal device 'data direct' kernel one.
      
      3) Create a crossing MKEY that points to the KSM MKEY using the crossing
      access mode.
      
      4) Manage the KSM MKEY by adding it to a list of 'data direct' MKEYs
      managed on the mlx5_ib device.
      
      5) Return the crossing MKEY to the user, created with its supplied PD.
      
      Upon DMA PF unbind flow, the driver will revoke the KSM entries.
      The final deregistration will occur under the hood once the application
      deregisters its MKEY.
      
      Notes:
      - This version supports only the PINNED UMEM mode, so there is no
        dependency on ODP.
      - The IOVA supplied by the application must be system page aligned due to
        HW translations of KSM.
      - The crossing MKEY will not be umrable or part of the MR cache, as we
        cannot change its crossed (i.e. KSM) MKEY over UMR.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/1f99d8020ed540d9702b9e2252a145a439609ba6.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      de8f847a
    • Yishai Hadas's avatar
      RDMA: Pass uverbs_attr_bundle as part of '.reg_user_mr_dmabuf' API · 3aa73c6b
      Yishai Hadas authored
      Pass uverbs_attr_bundle as part of '.reg_user_mr_dmabuf' API instead of
      udata.
      
      This enables passing some new ioctl attributes to the drivers, as will
      be introduced in the next patches for mlx5 driver.
      
      Change the involved drivers accordingly.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/9a25b2fc02443f7c36c2d93499ae25252b6afd40.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      3aa73c6b
    • Yishai Hadas's avatar
      RDMA/umem: Introduce an option to revoke DMABUF umem · 253c61dc
      Yishai Hadas authored
      Introduce an option to revoke DMABUF umem.
      
      This option will retain the umem allocation while revoking its DMA
      mapping. Furthermore, any subsequent attempts to map the pages should
      fail once the umem has been revoked.
      
      This functionality will be utilized in the upcoming patches in the
      series, where we aim to delay umem deallocation until the mkey
      deregistration. However, we must unmap its pages immediately.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/a38270f2fe4a194868ca2312f4c1c760e51bcbff.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      253c61dc
    • Yishai Hadas's avatar
      RDMA/umem: Add support for creating pinned DMABUF umem with a given dma device · 682358fd
      Yishai Hadas authored
      Add support for creating pinned DMABUF umem with a specified DMA device
      instead of the DMA device of the given IB device.
      
      This API will be utilized in the upcoming patches of the series when
      multiple path DMAs are implemented.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/038aad36a43797e5591b20ba81051fc5758124f9.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      682358fd
    • Yishai Hadas's avatar
      RDMA/mlx5: Add the initialization flow to utilize the 'data direct' device · 2e8e631d
      Yishai Hadas authored
      Add the NET device initialization flow to utilize the 'data
      direct' device.
      
      When a NET mlx5_ib device is capable of 'data direct', the following
      sequence of actions will occur:
      - Find its affiliated 'data direct' VUID via a firmware command.
      - Create its own private PD and 'data direct' mkey.
      - Register to be notified when its 'data direct' driver is probed or removed.
      
      The DMA device of the affiliated 'data direct' device, including the
      private PD and the 'data direct' mkey, will be used later during MR
      registrations that request the data direct functionality.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/b11fa87b2a65bce4db8d40341bb6cee490fa4d06.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      2e8e631d
    • Yishai Hadas's avatar
      RDMA/mlx5: Introduce the 'data direct' driver · 6910e366
      Yishai Hadas authored
      Introduce the 'data direct' driver for a ConnectX-8 Data Direct device.
      
      The 'data direct' driver functions as the affiliated DMA device for one
      or more capable mlx5_ib devices. This DMA device, as the name suggests,
      is used exclusively for DMA operations. It can be considered a DMA engine
      managed by a PF/VF, lacking network capabilities and having minimal overall
      capabilities.
      
      Consequently, the DMA NIC PF will not be exposed to or directly used by
      software applications. The driver will not have any direct interface or
      interaction with the firmware (no command interface, no capabilities,
      etc.). It will operate solely over PCI to enable its DMA functionality.
      
      Registration and un-registration of the driver are handled as part of
      the mlx5_ib initialization and exit processes, as the mlx5_ib devices
      will effectively be its clients.
      
      The driver will serve as the DMA device for accessing another PCI device
      to achieve optimal performance (both on the same NUMA node, P2P access,
      etc.).
      
      Upon probing, it will read its VUID over PCI to handle mlx5_ib device
      registrations with the same VUID.
      
      Upon removal, it will notify its clients to allow them to clean up the
      resources that were mmaped with its DMA device.
      Signed-off-by: default avatarYishai Hadas <yishaih@nvidia.com>
      Link: https://patch.msgid.link/b77edecfd476c3f445da96ab6aef499ae47b2829.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      6910e366
    • Leon Romanovsky's avatar
      Introducing Multi-Path DMA Support for mlx5 RDMA Driver · a18eb864
      Leon Romanovsky authored
      From Yishai,
      
      Overview
      --------
      This patch series aims to enable multi-path DMA support, allowing an
      mlx5 RDMA device to issue DMA commands through multiple paths. This
      feature is critical for improving performance and reaching line rate
      in certain environments where issuing PCI transactions over one path
      may be significantly faster than over another. These differences can
      arise from various PCI generations in the system or the specific system
      topology.
      
      To achieve this functionality, we introduced a data direct DMA device
      that can serve the RDMA device by issuing DMA transactions on its
      behalf.
      
      The main key features and changes are described below.
      
      Multi-Path Discovery
      --------------------
      API Implementation:
       * Introduced an API to discover multiple paths for a given mlx5 RDMA
         device.
      IOCTL Command:
       * Added a new IOCTL command, MLX5_IB_METHOD_GET_DATA_DIRECT_SYSFS_PATH, to
         the DEVICE object. When an affiliated Data-Direct/DMA device is present,
         its sysfs path is returned.
      
      Feature Activation by mlx5 RDMA Application
      -------------------------------------------
      UVERBS Extension:
       * Extended UVERBS_METHOD_REG_DMABUF_MR over UVERBS_OBJECT_MR to include
         mlx5 extended flags.
      Access Flag:
       * Introduced the MLX5_IB_UAPI_REG_DMABUF_ACCESS_DATA_DIRECT flag, allowing
         applications to request the use of the affiliated DMA device for DMABUF
         registration.
      
      Data-Direct/DMA Device
      ----------------------
      New Driver:
       * Introduced a new driver to manage the new DMA PF device ID (0x2100).
         Its registration/un-registration is handled as part of the mlx5_ib init/exit
         flows, with mlx5 IB devices as its clients.
      Functionality:
       * The driver does not interface directly with the firmware (no command interface,
         no caps, etc.) but works over PCI to activate its DMA functionality. It serves
         as the DMA device for efficiently accessing other PCI devices (e.g., GPU PF) and
         reads its VUID over PCI to handle NICs registrations with the same VUID.
      
      mlx5 IB RDMA Device
      ---------------------------
      VUID Query:
       * Reads its affiliated DMA PF VUID via the QUERY_VUID command with the data_direct
         bit set.
      Driver Registration:
       * Registers with the DMA PF driver to be notified upon bind/unbind.
      Application Request Handling:
       * Uses the DMA PF device upon application request as described above.
      
      DMABUF over Umem
      ----------------
      Introduced an option to obtain a DMABUF UMEM using a different DMA
      device instead of the IB device, allowing the device to register over
      IOMMU with the expected DMA device for a given buffer registration.
      
      Further details are provided in the commit logs of the patches in this series.
      
      Thanks
      
      Link: https://lore.kernel.org/all/cover.1722512548.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      a18eb864
    • Mark Bloch's avatar
      RDMA/mlx5: Expose vhca id for all ports in multiport mode · 0ea4ffb2
      Mark Bloch authored
      In multiport mode, RDMA devices make it impossible for userspace to use
      DEVX to discover vhca id values for ports beyond port 1. This patch
      addresses the issue by exposing the vhca id of all ports.
      Signed-off-by: default avatarMark Bloch <mbloch@nvidia.com>
      Reviewed-by: default avatarMaor Gottlieb <maorg@nvidia.com>
      Link: https://patch.msgid.link/41dea83aa51843aa4c067b4f73f28d64e51bd53c.1722331101.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      0ea4ffb2
    • Chiara Meiohas's avatar
      RDMA/nldev: Enhance netlink message parsing and validation · df6d27a3
      Chiara Meiohas authored
      Use strict parsing validation for set commands, and liberal
      validation for get commands. Additionally, remove all usage of
      nlmsg_parse_depricate().
      
      Strict parsing validation fails when encountering unrecognized
      attributes in the Netlink message, while liberal parsing
      validation ignores them.
      
      In 57d7a8fd904c ("rdma: Add an option to display driver-specific QPs in the rdma tool")
      in iproute2, the attribute RDMA_NLDEV_ATTR_DRIVER_DETAILS
      was added. This cause backwards compatibility issues when using
      the rdma tool with the new attribute and an older kernel which does
      recognize this attribute.
      In this case, the command "rdma stat show mr" would fail, because the
      new rdma tool would fill the netlink message with the new attribute and
      the older kernel would fail as it used strict parsing and did not
      recognize the new attribute.
      
      In general, strict validation is appropriate for set commands as they
      modify the system, while liberal validation is suitable for get
      commands which only query system information.
      
      Replace all uses of nlmsg_parse_deprecated() with __nlmsg_parse(),
      using the NL_VALIDATE_LIBERAL flag.
      The nlmsg_parse_deprecated() function internally calls
      __nlmsg_parse() with the NL_VALIDATE_LIBERAL flag, but its name
      is confusing.
      Signed-off-by: default avatarChiara Meiohas <cmeiohas@nvidia.com>
      Reviewed-by: default avatarMichael Guralnik <michaelgur@nvidia.com>
      Link: https://lore.kernel.org/r/f633a979a49db090d05c24a3ba83d30727bb777b.1722331020.git.leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      df6d27a3
  4. 08 Aug, 2024 1 commit
  5. 04 Aug, 2024 11 commits
    • Linus Torvalds's avatar
      Linux 6.11-rc2 · de9c2c66
      Linus Torvalds authored
      de9c2c66
    • Tetsuo Handa's avatar
      profiling: remove profile=sleep support · b88f5538
      Tetsuo Handa authored
      The kernel sleep profile is no longer working due to a recursive locking
      bug introduced by commit 42a20f86 ("sched: Add wrapper for get_wchan()
      to keep task blocked")
      
      Booting with the 'profile=sleep' kernel command line option added or
      executing
      
        # echo -n sleep > /sys/kernel/profiling
      
      after boot causes the system to lock up.
      
      Lockdep reports
      
        kthreadd/3 is trying to acquire lock:
        ffff93ac82e08d58 (&p->pi_lock){....}-{2:2}, at: get_wchan+0x32/0x70
      
        but task is already holding lock:
        ffff93ac82e08d58 (&p->pi_lock){....}-{2:2}, at: try_to_wake_up+0x53/0x370
      
      with the call trace being
      
         lock_acquire+0xc8/0x2f0
         get_wchan+0x32/0x70
         __update_stats_enqueue_sleeper+0x151/0x430
         enqueue_entity+0x4b0/0x520
         enqueue_task_fair+0x92/0x6b0
         ttwu_do_activate+0x73/0x140
         try_to_wake_up+0x213/0x370
         swake_up_locked+0x20/0x50
         complete+0x2f/0x40
         kthread+0xfb/0x180
      
      However, since nobody noticed this regression for more than two years,
      let's remove 'profile=sleep' support based on the assumption that nobody
      needs this functionality.
      
      Fixes: 42a20f86 ("sched: Add wrapper for get_wchan() to keep task blocked")
      Cc: stable@vger.kernel.org # v5.16+
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b88f5538
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a5dbd76a
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
      
       - Prevent a deadlock on cpu_hotplug_lock in the aperf/mperf driver.
      
         A recent change in the ACPI code which consolidated code pathes moved
         the invocation of init_freq_invariance_cppc() to be moved to a CPU
         hotplug handler. The first invocation on AMD CPUs ends up enabling a
         static branch which dead locks because the static branch enable tries
         to acquire cpu_hotplug_lock but that lock is already held write by
         the hotplug machinery.
      
         Use static_branch_enable_cpuslocked() instead and take the hotplug
         lock read for the Intel code path which is invoked from the
         architecture code outside of the CPU hotplug operations.
      
       - Fix the number of reserved bits in the sev_config structure bit field
         so that the bitfield does not exceed 64 bit.
      
       - Add missing Zen5 model numbers
      
       - Fix the alignment assumptions of pti_clone_pgtable() and
         clone_entry_text() on 32-bit:
      
         The code assumes PMD aligned code sections, but on 32-bit the kernel
         entry text is not PMD aligned. So depending on the code size and
         location, which is configuration and compiler dependent, entry text
         can cross a PMD boundary. As the start is not PMD aligned adding PMD
         size to the start address is larger than the end address which
         results in partially mapped entry code for user space. That causes
         endless recursion on the first entry from userspace (usually #PF).
      
         Cure this by aligning the start address in the addition so it ends up
         at the next PMD start address.
      
         clone_entry_text() enforces PMD mapping, but on 32-bit the tail might
         eventually be PTE mapped, which causes a map fail because the PMD for
         the tail is not a large page mapping. Use PTI_LEVEL_KERNEL_IMAGE for
         the clone() invocation which resolves to PTE on 32-bit and PMD on
         64-bit.
      
       - Zero the 8-byte case for get_user() on range check failure on 32-bit
      
         The recend consolidation of the 8-byte get_user() case broke the
         zeroing in the failure case again. Establish it by clearing ECX
         before the range check and not afterwards as that obvioulsy can't be
         reached when the range check fails
      
      * tag 'x86-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uaccess: Zero the 8-byte get_range case on failure on 32-bit
        x86/mm: Fix pti_clone_entry_text() for i386
        x86/mm: Fix pti_clone_pgtable() alignment assumption
        x86/setup: Parse the builtin command line before merging
        x86/CPU/AMD: Add models 0x60-0x6f to the Zen5 range
        x86/sev: Fix __reserved field in sev_config
        x86/aperfmperf: Fix deadlock on cpu_hotplug_lock
      a5dbd76a
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 61ca6c78
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two fixes for the timer/clocksource code:
      
         - The recent fix to make the take over of the broadcast timer more
           reliable retrieves a per CPU pointer in preemptible context.
      
           This went unnoticed in testing as some compilers hoist the access
           into the non-preemotible section where the pointer is actually
           used, but obviously compilers can rightfully invoke it where the
           code put it.
      
           Move it into the non-preemptible section right to the actual usage
           side to cure it.
      
         - The clocksource watchdog is supposed to emit a warning when the
           retry count is greater than one and the number of retries reaches
           the limit.
      
           The condition is backwards and warns always when the count is
           greater than one. Fixup the condition to prevent spamming dmesg"
      
      * tag 'timers-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: Fix brown-bag boolean thinko in cs_watchdog_read()
        tick/broadcast: Move per CPU pointer access into the atomic section
      61ca6c78
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6cc82dc2
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
      
       - When stime is larger than rtime due to accounting imprecision, then
         utime = rtime - stime becomes negative. As this is unsigned math, the
         result becomes a huge positive number.
      
         Cure it by resetting stime to rtime in that case, so utime becomes 0.
      
       - Restore consistent state when sched_cpu_deactivate() fails.
      
         When offlining a CPU fails in sched_cpu_deactivate() after the SMT
         present counter has been decremented, then the function aborts but
         fails to increment the SMT present counter and leaves it imbalanced.
         Consecutive operations cause it to underflow. Add the missing fixup
         for the error path.
      
         For SMT accounting the runqueue needs to marked online again in the
         error exit path to restore consistent state.
      
      * tag 'sched-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Fix unbalance set_rq_online/offline() in sched_cpu_deactivate()
        sched/core: Introduce sched_set_rq_on/offline() helper
        sched/smt: Fix unbalance sched_smt_present dec/inc
        sched/smt: Introduce sched_smt_present_inc/dec() helper
        sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime
      6cc82dc2
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1ddeb0ef
      Linus Torvalds authored
      Pull x86 perf fixes from Thomas Gleixner:
      
       - Move the smp_processor_id() invocation back into the non-preemtible
         region, so that the result is valid to use
      
       - Add the missing package C2 residency counters for Sierra Forest CPUs
         to make the newly added support actually useful
      
      * tag 'perf-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix smp_processor_id()-in-preemptible warnings
        perf/x86/intel/cstate: Add pkg C2 residency counter for Sierra Forest
      1ddeb0ef
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 953f7764
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A couple of fixes for interrupt chip drivers:
      
         - Make sure to skip the clear register space in the MBIGEN driver
           when calculating the node register index. Otherwise the clear
           register is clobbered and the wrong node registers are accessed.
      
         - Fix a signed/unsigned confusion in the loongarch CPU driver which
           converts an error code to a huge "valid" interrupt number.
      
         - Convert the mesion GPIO interrupt controller lock to a raw spinlock
           so it works on RT.
      
         - Add a missing static to a internal function in the pic32 EVIC
           driver"
      
      * tag 'irq-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/mbigen: Fix mbigen node address layout
        irqchip/meson-gpio: Convert meson_gpio_irq_controller::lock to 'raw_spinlock_t'
        irqchip/irq-pic32-evic: Add missing 'static' to internal function
        irqchip/loongarch-cpu: Fix return value of lpic_gsi_to_irq()
      953f7764
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3bc70ad1
      Linus Torvalds authored
      Pull locking fixes from Thomas Gleixner:
       "Two fixes for locking and jump labels:
      
         - Ensure that the atomic_cmpxchg() conditions are correct and
           evaluating to true on any non-zero value except 1. The missing
           check of the return value leads to inconsisted state of the jump
           label counter.
      
         - Add a missing type conversion in the paravirt spinlock code which
           makes loongson build again"
      
      * tag 'locking-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        jump_label: Fix the fix, brown paper bags galore
        locking/pvqspinlock: Correct the type of "old" variable in pv_kick_node()
      3bc70ad1
    • Rob Herring (Arm)'s avatar
      arm: dts: arm: versatile-ab: Fix duplicate clock node name · ff588380
      Rob Herring (Arm) authored
      Commit 04f08ef2 ("arm/arm64: dts: arm: Use generic clock and
      regulator nodenames") renamed nodes and created 2 "clock-24000000" nodes
      (at different paths).
      
      The kernel can't handle these duplicate names even though they are at
      different paths.  Fix this by renaming one of the nodes to "clock-pclk".
      
      This name is aligned with other Arm boards (those didn't have a known
      frequency to use in the node name).
      
      Fixes: 04f08ef2 ("arm/arm64: dts: arm: Use generic clock and regulator nodenames")
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Tested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ff588380
    • Linus Torvalds's avatar
      Merge tag '6.11-rc1-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 3f3f6d61
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - two reparse point fixes
      
       - minor cleanup
      
       - additional trace point (to help debug a recent problem)
      
      * tag '6.11-rc1-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal version number
        smb: client: fix FSCTL_GET_REPARSE_POINT against NetApp
        smb3: add dynamic tracepoints for shutdown ioctl
        cifs: Remove cifs_aio_ctx
        smb: client: handle lack of FSCTL_GET_REPARSE_POINT support
      3f3f6d61
    • Linus Torvalds's avatar
      Merge tag 'media/v6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 3c41df42
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - two Kconfig fixes
      
       - one fix for the UVC driver addressing probing time detection of a UVC
         custom controls
      
       - one fix related to PDF generation
      
      * tag 'media/v6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: v4l: Fix missing tabular column hint for Y14P format
        media: intel/ipu6: select AUXILIARY_BUS in Kconfig
        media: ipu-bridge: fix ipu6 Kconfig dependencies
        media: uvcvideo: Fix custom control mapping probing
      3c41df42
  6. 03 Aug, 2024 5 commits
  7. 02 Aug, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.11-20240802' of git://git.kernel.dk/linux · 17712b7e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Two minor tweaks for the NAPI handling, both from Olivier:
      
         - Kill two unused list definitions
      
         - Ensure that multishot NAPI doesn't age away"
      
      * tag 'io_uring-6.11-20240802' of git://git.kernel.dk/linux:
        io_uring: remove unused local list heads in NAPI functions
        io_uring: keep multishot request NAPI timeout current
      17712b7e
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d9ef02e5
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "These fix a few issues related to the MSI IRQs management in the
        int340x thermal driver, fix a thermal core issue that may lead to
        missing trip point crossing events and update the thermal core
        documentation.
      
        Specifics:
      
         - Fix MSI error path cleanup in int340x, allow it to work with a
           subset of thermal MSI IRQs if some of them are not working and make
           it free all MSI IRQs on module exit (Srinivas Pandruvada)
      
         - Fix a thermal core issue that may lead to missing trip point
           crossing events in some cases when thermal_zone_set_trips() is used
           and update the thermal core documentation (Rafael Wysocki)"
      
      * tag 'thermal-6.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: Update thermal zone registration documentation
        thermal: trip: Avoid skipping trips in thermal_zone_set_trips()
        thermal: intel: int340x: Free MSI IRQ vectors on module exit
        thermal: intel: int340x: Allow limited thermal MSI support
        thermal: intel: int340x: Fix kernel warning during MSI cleanup
      d9ef02e5
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 041b1061
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Expand the speculative SSBS errata workaround to more CPUs
      
       - Ensure jump label changes are visible to all CPUs with a
         kick_all_cpus_sync() (and also enable jump label batching as part of
         the fix)
      
       - The shadow call stack sanitiser is currently incompatible with Rust,
         make CONFIG_RUST conditional on !CONFIG_SHADOW_CALL_STACK
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: jump_label: Ensure patched jump_labels are visible to all CPUs
        rust: SHADOW_CALL_STACK is incompatible with Rust
        arm64: errata: Expand speculative SSBS workaround (again)
        arm64: cputype: Add Cortex-A725 definitions
        arm64: cputype: Add Cortex-X1C definitions
      041b1061
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.11-rc2' of https://github.com/ceph/ceph-client · 1c424629
      Linus Torvalds authored
      Pull ceph fix from Ilya Dryomov:
       "A fix for a potential hang in the MDS when cap revocation races with
        the client releasing the caps in question, marked for stable"
      
      * tag 'ceph-for-6.11-rc2' of https://github.com/ceph/ceph-client:
        ceph: force sending a cap update msg back to MDS for revoke op
      1c424629
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 725d410f
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "The bulk of the changes here is a largish change to guest_memfd,
        delaying the clearing and encryption of guest-private pages until they
        are actually added to guest page tables. This started as "let's make
        it impossible to misuse the API" for SEV-SNP; but then it ballooned a
        bit.
      
        The new logic is generally simpler and more ready for hugepage support
        in guest_memfd.
      
        Summary:
      
         - fix latent bug in how usage of large pages is determined for
           confidential VMs
      
         - fix "underline too short" in docs
      
         - eliminate log spam from limited APIC timer periods
      
         - disallow pre-faulting of memory before SEV-SNP VMs are initialized
      
         - delay clearing and encrypting private memory until it is added to
           guest page tables
      
         - this change also enables another small cleanup: the checks in
           SNP_LAUNCH_UPDATE that limit it to non-populated, private pages can
           now be moved in the common kvm_gmem_populate() function
      
         - fix compilation error that the RISC-V merge introduced in selftests"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86/mmu: fix determination of max NPT mapping level for private pages
        KVM: riscv: selftests: Fix compile error
        KVM: guest_memfd: abstract how prepared folios are recorded
        KVM: guest_memfd: let kvm_gmem_populate() operate only on private gfns
        KVM: extend kvm_range_has_memory_attributes() to check subset of attributes
        KVM: cleanup and add shortcuts to kvm_range_has_memory_attributes()
        KVM: guest_memfd: move check for already-populated page to common code
        KVM: remove kvm_arch_gmem_prepare_needed()
        KVM: guest_memfd: make kvm_gmem_prepare_folio() operate on a single struct kvm
        KVM: guest_memfd: delay kvm_gmem_prepare_folio() until the memory is passed to the guest
        KVM: guest_memfd: return locked folio from __kvm_gmem_get_pfn
        KVM: rename CONFIG_HAVE_KVM_GMEM_* to CONFIG_HAVE_KVM_ARCH_GMEM_*
        KVM: guest_memfd: do not go through struct page
        KVM: guest_memfd: delay folio_mark_uptodate() until after successful preparation
        KVM: guest_memfd: return folio from __kvm_gmem_get_pfn()
        KVM: x86: disallow pre-fault for SNP VMs before initialization
        KVM: Documentation: Fix title underline too short warning
        KVM: x86: Eliminate log spam from limited APIC timer periods
      725d410f
    • Paolo Bonzini's avatar
      Merge branch 'kvm-fixes' into HEAD · 1773014a
      Paolo Bonzini authored
      * fix latent bug in how usage of large pages is determined for
        confidential VMs
      
      * fix "underline too short" in docs
      
      * eliminate log spam from limited APIC timer periods
      
      * disallow pre-faulting of memory before SEV-SNP VMs are initialized
      
      * delay clearing and encrypting private memory until it is added to
        guest page tables
      
      * this change also enables another small cleanup: the checks in
        SNP_LAUNCH_UPDATE that limit it to non-populated, private pages
        can now be moved in the common kvm_gmem_populate() function
      1773014a
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 948752d2
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A fix to avoid dropping some of the internal pseudo-extensions, which
         breaks *envcfg dependency parsing
      
       - The kernel entry address is now aligned in purgatory, which avoids a
         misaligned load that can lead to crash on systems that don't support
         misaligned accesses early in boot
      
       - The FW_SFENCE_VMA_RECEIVED perf event was duplicated in a handful of
         perf JSON configurations, one of them been updated to
         FW_SFENCE_VMA_ASID_SENT
      
       - The starfive cache driver is now restricted to 64-bit systems, as it
         isn't 32-bit clean
      
       - A fix for to avoid aliasing legacy-mode perf counters with software
         perf counters
      
       - VM_FAULT_SIGSEGV is now handled in the page fault code
      
       - A fix for stalls during CPU hotplug due to IPIs being disabled
      
       - A fix for memblock bounds checking. This manifests as a crash on
         systems with discontinuous memory maps that have regions that don't
         fit in the linear map
      
      * tag 'riscv-for-linus-6.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Fix linear mapping checks for non-contiguous memory regions
        RISC-V: Enable the IPI before workqueue_online_cpu()
        riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error()
        perf: riscv: Fix selecting counters in legacy mode
        cache: StarFive: Require a 64-bit system
        perf arch events: Fix duplicate RISC-V SBI firmware event name
        riscv/purgatory: align riscv_kernel_entry
        riscv: cpufeature: Do not drop Linux-internal extensions
      948752d2
    • Paolo Bonzini's avatar
      Merge tag 'kvm-riscv-fixes-6.11-1' of https://github.com/kvm-riscv/linux into HEAD · 29b5bbf7
      Paolo Bonzini authored
      KVM/riscv fixes for 6.11, take #1
      
      - Fix compile error in get-reg-list selftests
      29b5bbf7