From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Lu Baolu <baolu.lu@linux.intel.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Niklas Schnelle <schnelle@linux.ibm.com>,
Joerg Roedel <jroedel@suse.de>, Sasha Levin <sashal@kernel.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>
Subject: [PATCH 6.6 104/132] iommu: Allow .iotlb_sync_map to fail and handle s390s -ENOMEM return
Date: Tue, 8 Jul 2025 18:23:35 +0200 [thread overview]
Message-ID: <20250708162233.646157969@linuxfoundation.org> (raw)
In-Reply-To: <20250708162230.765762963@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Niklas Schnelle <schnelle@linux.ibm.com>
[ Upstream commit fa4c4507099f781ca89a748c480af9cf97629726 ]
On s390 when using a paging hypervisor, .iotlb_sync_map is used to sync
mappings by letting the hypervisor inspect the synced IOVA range and
updating a shadow table. This however means that .iotlb_sync_map can
fail as the hypervisor may run out of resources while doing the sync.
This can be due to the hypervisor being unable to pin guest pages, due
to a limit on mapped addresses such as vfio_iommu_type1.dma_entry_limit
or lack of other resources. Either way such a failure to sync a mapping
should result in a DMA_MAPPING_ERROR.
Now especially when running with batched IOTLB flushes for unmap it may
be that some IOVAs have already been invalidated but not yet synced via
.iotlb_sync_map. Thus if the hypervisor indicates running out of
resources, first do a global flush allowing the hypervisor to free
resources associated with these mappings as well a retry creating the
new mappings and only if that also fails report this error to callers.
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> # sun50i
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Link: https://lore.kernel.org/r/20230928-dma_iommu-v13-1-9e5fc4dacc36@linux.ibm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Stable-dep-of: 45537926dd2a ("s390/pci: Fix stale function handles in error handling")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/iommu/amd/iommu.c | 5 +++--
drivers/iommu/apple-dart.c | 5 +++--
drivers/iommu/intel/iommu.c | 5 +++--
drivers/iommu/iommu.c | 20 ++++++++++++++++----
drivers/iommu/msm_iommu.c | 5 +++--
drivers/iommu/mtk_iommu.c | 5 +++--
drivers/iommu/s390-iommu.c | 29 +++++++++++++++++++++++------
drivers/iommu/sprd-iommu.c | 5 +++--
drivers/iommu/sun50i-iommu.c | 6 ++++--
include/linux/iommu.h | 4 ++--
10 files changed, 63 insertions(+), 26 deletions(-)
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index a5d6d786dba52..d6344b74d873c 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -2241,14 +2241,15 @@ static int amd_iommu_attach_device(struct iommu_domain *dom,
return ret;
}
-static void amd_iommu_iotlb_sync_map(struct iommu_domain *dom,
- unsigned long iova, size_t size)
+static int amd_iommu_iotlb_sync_map(struct iommu_domain *dom,
+ unsigned long iova, size_t size)
{
struct protection_domain *domain = to_pdomain(dom);
struct io_pgtable_ops *ops = &domain->iop.iop.ops;
if (ops->map_pages)
domain_flush_np_cache(domain, iova, size);
+ return 0;
}
static int amd_iommu_map_pages(struct iommu_domain *dom, unsigned long iova,
diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
index 0b89275084274..d6263ce05b9ba 100644
--- a/drivers/iommu/apple-dart.c
+++ b/drivers/iommu/apple-dart.c
@@ -506,10 +506,11 @@ static void apple_dart_iotlb_sync(struct iommu_domain *domain,
apple_dart_domain_flush_tlb(to_dart_domain(domain));
}
-static void apple_dart_iotlb_sync_map(struct iommu_domain *domain,
- unsigned long iova, size_t size)
+static int apple_dart_iotlb_sync_map(struct iommu_domain *domain,
+ unsigned long iova, size_t size)
{
apple_dart_domain_flush_tlb(to_dart_domain(domain));
+ return 0;
}
static phys_addr_t apple_dart_iova_to_phys(struct iommu_domain *domain,
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 6a745616d85a4..ddfde6edf7566 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -4680,8 +4680,8 @@ static bool risky_device(struct pci_dev *pdev)
return false;
}
-static void intel_iommu_iotlb_sync_map(struct iommu_domain *domain,
- unsigned long iova, size_t size)
+static int intel_iommu_iotlb_sync_map(struct iommu_domain *domain,
+ unsigned long iova, size_t size)
{
struct dmar_domain *dmar_domain = to_dmar_domain(domain);
unsigned long pages = aligned_nrpages(iova, size);
@@ -4691,6 +4691,7 @@ static void intel_iommu_iotlb_sync_map(struct iommu_domain *domain,
xa_for_each(&dmar_domain->iommu_array, i, info)
__mapping_notify_one(info->iommu, dmar_domain, pfn, pages);
+ return 0;
}
static void intel_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid)
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 3fa5699b9ff19..481eb6766ee13 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -2530,8 +2530,17 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova,
return -EINVAL;
ret = __iommu_map(domain, iova, paddr, size, prot, gfp);
- if (ret == 0 && ops->iotlb_sync_map)
- ops->iotlb_sync_map(domain, iova, size);
+ if (ret == 0 && ops->iotlb_sync_map) {
+ ret = ops->iotlb_sync_map(domain, iova, size);
+ if (ret)
+ goto out_err;
+ }
+
+ return ret;
+
+out_err:
+ /* undo mappings already done */
+ iommu_unmap(domain, iova, size);
return ret;
}
@@ -2672,8 +2681,11 @@ ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
sg = sg_next(sg);
}
- if (ops->iotlb_sync_map)
- ops->iotlb_sync_map(domain, iova, mapped);
+ if (ops->iotlb_sync_map) {
+ ret = ops->iotlb_sync_map(domain, iova, mapped);
+ if (ret)
+ goto out_err;
+ }
return mapped;
out_err:
diff --git a/drivers/iommu/msm_iommu.c b/drivers/iommu/msm_iommu.c
index 79d89bad5132b..47926d3290e6c 100644
--- a/drivers/iommu/msm_iommu.c
+++ b/drivers/iommu/msm_iommu.c
@@ -486,12 +486,13 @@ static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova,
return ret;
}
-static void msm_iommu_sync_map(struct iommu_domain *domain, unsigned long iova,
- size_t size)
+static int msm_iommu_sync_map(struct iommu_domain *domain, unsigned long iova,
+ size_t size)
{
struct msm_priv *priv = to_msm_priv(domain);
__flush_iotlb_range(iova, size, SZ_4K, false, priv);
+ return 0;
}
static size_t msm_iommu_unmap(struct iommu_domain *domain, unsigned long iova,
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 06c0770ff894e..2cba98233be0f 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -817,12 +817,13 @@ static void mtk_iommu_iotlb_sync(struct iommu_domain *domain,
mtk_iommu_tlb_flush_range_sync(gather->start, length, dom->bank);
}
-static void mtk_iommu_sync_map(struct iommu_domain *domain, unsigned long iova,
- size_t size)
+static int mtk_iommu_sync_map(struct iommu_domain *domain, unsigned long iova,
+ size_t size)
{
struct mtk_iommu_domain *dom = to_mtk_domain(domain);
mtk_iommu_tlb_flush_range_sync(iova, size, dom->bank);
+ return 0;
}
static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain,
diff --git a/drivers/iommu/s390-iommu.c b/drivers/iommu/s390-iommu.c
index f0c867c57a5b9..3b512e52610b1 100644
--- a/drivers/iommu/s390-iommu.c
+++ b/drivers/iommu/s390-iommu.c
@@ -222,6 +222,12 @@ static void s390_iommu_release_device(struct device *dev)
__s390_iommu_detach_device(zdev);
}
+static int zpci_refresh_all(struct zpci_dev *zdev)
+{
+ return zpci_refresh_trans((u64)zdev->fh << 32, zdev->start_dma,
+ zdev->end_dma - zdev->start_dma + 1);
+}
+
static void s390_iommu_flush_iotlb_all(struct iommu_domain *domain)
{
struct s390_domain *s390_domain = to_s390_domain(domain);
@@ -229,8 +235,7 @@ static void s390_iommu_flush_iotlb_all(struct iommu_domain *domain)
rcu_read_lock();
list_for_each_entry_rcu(zdev, &s390_domain->devices, iommu_list) {
- zpci_refresh_trans((u64)zdev->fh << 32, zdev->start_dma,
- zdev->end_dma - zdev->start_dma + 1);
+ zpci_refresh_all(zdev);
}
rcu_read_unlock();
}
@@ -254,20 +259,32 @@ static void s390_iommu_iotlb_sync(struct iommu_domain *domain,
rcu_read_unlock();
}
-static void s390_iommu_iotlb_sync_map(struct iommu_domain *domain,
- unsigned long iova, size_t size)
+static int s390_iommu_iotlb_sync_map(struct iommu_domain *domain,
+ unsigned long iova, size_t size)
{
struct s390_domain *s390_domain = to_s390_domain(domain);
struct zpci_dev *zdev;
+ int ret = 0;
rcu_read_lock();
list_for_each_entry_rcu(zdev, &s390_domain->devices, iommu_list) {
if (!zdev->tlb_refresh)
continue;
- zpci_refresh_trans((u64)zdev->fh << 32,
- iova, size);
+ ret = zpci_refresh_trans((u64)zdev->fh << 32,
+ iova, size);
+ /*
+ * let the hypervisor discover invalidated entries
+ * allowing it to free IOVAs and unpin pages
+ */
+ if (ret == -ENOMEM) {
+ ret = zpci_refresh_all(zdev);
+ if (ret)
+ break;
+ }
}
rcu_read_unlock();
+
+ return ret;
}
static int s390_iommu_validate_trans(struct s390_domain *s390_domain,
diff --git a/drivers/iommu/sprd-iommu.c b/drivers/iommu/sprd-iommu.c
index c8e79a2d8b4c6..03aea6ed0d422 100644
--- a/drivers/iommu/sprd-iommu.c
+++ b/drivers/iommu/sprd-iommu.c
@@ -345,8 +345,8 @@ static size_t sprd_iommu_unmap(struct iommu_domain *domain, unsigned long iova,
return size;
}
-static void sprd_iommu_sync_map(struct iommu_domain *domain,
- unsigned long iova, size_t size)
+static int sprd_iommu_sync_map(struct iommu_domain *domain,
+ unsigned long iova, size_t size)
{
struct sprd_iommu_domain *dom = to_sprd_domain(domain);
unsigned int reg;
@@ -358,6 +358,7 @@ static void sprd_iommu_sync_map(struct iommu_domain *domain,
/* clear IOMMU TLB buffer after page table updated */
sprd_iommu_write(dom->sdev, reg, 0xffffffff);
+ return 0;
}
static void sprd_iommu_sync(struct iommu_domain *domain,
diff --git a/drivers/iommu/sun50i-iommu.c b/drivers/iommu/sun50i-iommu.c
index 94bd7f25f6f26..e6b2fe3db4216 100644
--- a/drivers/iommu/sun50i-iommu.c
+++ b/drivers/iommu/sun50i-iommu.c
@@ -402,8 +402,8 @@ static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain)
spin_unlock_irqrestore(&iommu->iommu_lock, flags);
}
-static void sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain,
- unsigned long iova, size_t size)
+static int sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain,
+ unsigned long iova, size_t size)
{
struct sun50i_iommu_domain *sun50i_domain = to_sun50i_domain(domain);
struct sun50i_iommu *iommu = sun50i_domain->iommu;
@@ -412,6 +412,8 @@ static void sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain,
spin_lock_irqsave(&iommu->iommu_lock, flags);
sun50i_iommu_zap_range(iommu, iova, size);
spin_unlock_irqrestore(&iommu->iommu_lock, flags);
+
+ return 0;
}
static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain,
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index b6ef263e85c06..187528e0ebb99 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -346,8 +346,8 @@ struct iommu_domain_ops {
struct iommu_iotlb_gather *iotlb_gather);
void (*flush_iotlb_all)(struct iommu_domain *domain);
- void (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
- size_t size);
+ int (*iotlb_sync_map)(struct iommu_domain *domain, unsigned long iova,
+ size_t size);
void (*iotlb_sync)(struct iommu_domain *domain,
struct iommu_iotlb_gather *iotlb_gather);
--
2.39.5
next prev parent reply other threads:[~2025-07-08 16:34 UTC|newest]
Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-08 16:21 [PATCH 6.6 000/132] 6.6.97-rc1 review Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 001/132] rtc: pcf2127: add missing semicolon after statement Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 002/132] rtc: pcf2127: fix SPI command byte for PCF2131 Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 003/132] rtc: cmos: use spin_lock_irqsave in cmos_interrupt Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 004/132] virtio-net: ensure the received length does not exceed allocated size Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 005/132] s390/pci: Do not try re-enabling load/store if device is disabled Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 006/132] vsock/vmci: Clear the vmci transport packet properly when initializing it Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 007/132] mmc: sdhci: Add a helper function for dump register in dynamic debug mode Greg Kroah-Hartman
2025-07-08 16:21 ` [PATCH 6.6 008/132] Revert "mmc: sdhci: Disable SD card clock before changing parameters" Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 009/132] mmc: core: sd: Apply BROKEN_SD_DISCARD quirk earlier Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 010/132] Bluetooth: hci_sync: revert some mesh modifications Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 011/132] Bluetooth: MGMT: set_mesh: update LE scan interval and window Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 012/132] Bluetooth: MGMT: mesh_send: check instances prior disabling advertising Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 013/132] regulator: gpio: Fix the out-of-bounds access to drvdata::gpiods Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 014/132] usb: typec: altmodes/displayport: do not index invalid pin_assignments Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 015/132] mtk-sd: Fix a pagefault in dma_unmap_sg() for not prepared data Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 016/132] mtk-sd: Prevent memory corruption from DMA map failure Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 017/132] mtk-sd: reset host->mrq on prepare_data() error Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 018/132] arm64: dts: apple: t8103: Fix PCIe BCM4377 nodename Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 019/132] platform/mellanox: mlxbf-tmfifo: fix vring_desc.len assignment Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 020/132] RDMA/mlx5: Initialize obj_event->obj_sub_list before xa_insert Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 021/132] nfs: Clean up /proc/net/rpc/nfs when nfs_fs_proc_net_init() fails Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 022/132] NFSv4/pNFS: Fix a race to wake on NFS_LAYOUT_DRAIN Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 023/132] scsi: qla2xxx: Fix DMA mapping test in qla24xx_get_port_database() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 024/132] scsi: qla4xxx: Fix missing DMA mapping error in qla4xxx_alloc_pdu() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 025/132] scsi: ufs: core: Fix spelling of a sysfs attribute name Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 026/132] RDMA/mlx5: Fix HW counters query for non-representor devices Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 027/132] RDMA/mlx5: Fix CC counters query for MPV Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 028/132] RDMA/mlx5: Fix vport loopback for MPV device Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 029/132] platform/mellanox: nvsw-sn2201: Fix bus number in adapter error message Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 030/132] Bluetooth: Prevent unintended pause by checking if advertising is active Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 031/132] btrfs: fix missing error handling when searching for inode refs during log replay Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 032/132] btrfs: fix iteration of extrefs " Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 033/132] btrfs: rename err to ret in btrfs_rmdir() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 034/132] btrfs: propagate last_unlink_trans earlier when doing a rmdir Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 035/132] btrfs: use btrfs_record_snapshot_destroy() during rmdir Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 036/132] ethernet: atl1: Add missing DMA mapping error checks and count errors Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 037/132] dpaa2-eth: fix xdp_rxq_info leak Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 038/132] drm/exynos: fimd: Guard display clock control with runtime PM calls Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 039/132] spi: spi-fsl-dspi: Clear completion counter before initiating transfer Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 040/132] drm/i915/selftests: Change mock_request() to return error pointers Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 041/132] platform/x86: dell-wmi-sysman: Fix WMI data block retrieval in sysfs callbacks Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 042/132] arm64: dts: qcom: sm8550: add UART14 nodes Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 043/132] platform/x86: make fw_attr_class constant Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 044/132] platform/x86: firmware_attributes_class: Move include linux/device/class.h Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 045/132] platform/x86: firmware_attributes_class: Simplify API Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 046/132] platform/x86: think-lmi: Directly use firmware_attributes_class Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 047/132] platform/x86: think-lmi: Fix class device unregistration Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 048/132] platform/x86: dell-sysman: Directly use firmware_attributes_class Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 049/132] platform/x86: dell-wmi-sysman: Fix class device unregistration Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 050/132] platform/mellanox: mlxreg-lc: Fix logic error in power state check Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 051/132] smb: client: fix warning when reconnecting channel Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 052/132] net: usb: lan78xx: fix WARN in __netif_napi_del_locked on disconnect Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 053/132] drm/i915/gt: Fix timeline left held on VMA alloc error Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 054/132] drm/i915/gsc: mei interrupt top half should be in irq disabled context Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 055/132] igc: disable L1.2 PCI-E link substate to avoid performance issue Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 056/132] lib: test_objagg: Set error message in check_expect_hints_stats() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 057/132] amd-xgbe: align CL37 AN sequence as per databook Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 058/132] enic: fix incorrect MTU comparison in enic_change_mtu() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 059/132] rose: fix dangling neighbour pointers in rose_rt_device_down() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 060/132] nui: Fix dma_mapping_error() check Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 061/132] net/sched: Always pass notifications when child class becomes empty Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 062/132] amd-xgbe: do not double read link status Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 063/132] smb: client: fix race condition in negotiate timeout by using more precise timing Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 064/132] Revert "drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1" Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 065/132] btrfs: fix qgroup reservation leak on failure to allocate ordered extent Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 066/132] smb: client: remove \t from TP_printk statements Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 067/132] Bluetooth: hci_core: Fix use-after-free in vhci_flush() Greg Kroah-Hartman
2025-07-08 16:22 ` [PATCH 6.6 068/132] wifi: mac80211: chan: chandef is non-NULL for reserved Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 069/132] wifi: mac80211: Add link iteration macro for link data Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 070/132] wifi: mac80211: finish link init before RCU publish Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 071/132] bnxt: properly flush XDP redirect lists Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 072/132] x86/traps: Initialize DR6 by writing its architectural reset value Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 073/132] f2fs: add tracepoint for f2fs_vm_page_mkwrite() Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 074/132] f2fs: prevent writing without fallocate() for pinned files Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 075/132] f2fs: convert f2fs_vm_page_mkwrite() to use folio Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 076/132] f2fs: fix to zero post-eof page Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 077/132] scsi: ufs: core: Fix abnormal scale up after last cmd finish Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 078/132] scsi: ufs: core: Add OPP support for scaling clocks and regulators Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 079/132] scsi: ufs: core: Fix clk scaling to be conditional in reset and restore Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 080/132] drm/simpledrm: Do not upcast in release helpers Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 081/132] drm/i915/dp_mst: Work around Thunderbolt sink disconnect after SINK_COUNT_ESI read Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 082/132] drm/msm: Fix a fence leak in submit error path Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 083/132] drm/msm: Fix another leak in the " Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 084/132] ALSA: sb: Dont allow changing the DMA mode during operations Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 085/132] ALSA: sb: Force to disable DMAs once when DMA mode is changed Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 086/132] ata: libata-acpi: Do not assume 40 wire cable if no devices are enabled Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 087/132] ata: pata_cs5536: fix build on 32-bit UML Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 088/132] ASoC: amd: yc: Add quirk for MSI Bravo 17 D7VF internal mic Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 089/132] platform/x86/amd/pmc: Add PCSpecialist Lafite Pro V 14M to 8042 quirks list Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 090/132] powerpc: Fix struct termio related ioctl macros Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 091/132] ASoC: amd: yc: update quirk data for HP Victus Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 092/132] regulator: fan53555: add enable_time support and soft-start times Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 093/132] scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port() Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 094/132] aoe: defer rexmit timer downdev work to workqueue Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 095/132] wifi: mac80211: drop invalid source address OCB frames Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 096/132] wifi: ath6kl: remove WARN on bad firmware input Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 097/132] ACPICA: Refuse to evaluate a method if arguments are missing Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 098/132] mtd: spinand: fix memory leak of ECC engine conf Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 099/132] rcu: Return early if callback is not specified Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 100/132] drm/v3d: Disable interrupts before resetting the GPU Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 101/132] platform/x86: hp-bioscfg: Directly use firmware_attributes_class Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 102/132] platform/x86: hp-bioscfg: Fix class device unregistration Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 103/132] iommu: Add IOMMU_DOMAIN_PLATFORM for S390 Greg Kroah-Hartman
2025-07-08 16:23 ` Greg Kroah-Hartman [this message]
2025-07-08 16:23 ` [PATCH 6.6 105/132] module: Provide EXPORT_SYMBOL_GPL_FOR_MODULES() helper Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 106/132] fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 107/132] NFSv4/flexfiles: Fix handling of NFS level errors in I/O Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 108/132] s390/pci: Fix stale function handles in error handling Greg Kroah-Hartman
2025-07-10 8:36 ` Niklas Schnelle
2025-07-10 13:18 ` Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 109/132] usb: xhci: quirk for data loss in ISOC transfers Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 110/132] xhci: dbctty: disable ECHO flag by default Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 111/132] xhci: dbc: Flush queued requests before stopping dbc Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 112/132] xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 113/132] Input: xpad - support Acer NGR 200 Controller Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 114/132] Input: iqs7222 - explicitly define number of external channels Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 115/132] usb: cdnsp: do not disable slot for disabled slot Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 116/132] usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 117/132] smb: client: fix readdir returning wrong type with POSIX extensions Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 118/132] dma-buf: fix timeout handling in dma_resv_wait_timeout v2 Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 119/132] i2c/designware: Fix an initialization issue Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 120/132] Logitech C-270 even more broken Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 121/132] iommu/rockchip: prevent iommus dead loop when two masters share one IOMMU Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 122/132] powercap: intel_rapl: Do not change CLAMPING bit if ENABLE bit cannot be changed Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 123/132] platform/x86: think-lmi: Create ksets consecutively Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 124/132] platform/x86: think-lmi: Fix kobject cleanup Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 125/132] platform/x86: think-lmi: Fix sysfs group cleanup Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 126/132] usb: typec: displayport: Fix potential deadlock Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 127/132] powerpc/kernel: Fix ppc_save_regs inclusion in build Greg Kroah-Hartman
2025-07-08 16:23 ` [PATCH 6.6 128/132] x86/bugs: Rename MDS machinery to something more generic Greg Kroah-Hartman
2025-07-08 16:24 ` [PATCH 6.6 129/132] x86/bugs: Add a Transient Scheduler Attacks mitigation Greg Kroah-Hartman
2025-07-08 16:24 ` [PATCH 6.6 130/132] KVM: SVM: Advertise TSA CPUID bits to guests Greg Kroah-Hartman
2025-07-08 16:24 ` [PATCH 6.6 131/132] x86/microcode/AMD: Add TSA microcode SHAs Greg Kroah-Hartman
2025-07-08 16:24 ` [PATCH 6.6 132/132] x86/process: Move the buffer clearing before MONITOR Greg Kroah-Hartman
2025-07-09 22:02 ` [PATCH 6.6 000/132] 6.6.97-rc1 review Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250708162233.646157969@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=baolu.lu@linux.intel.com \
--cc=jernej.skrabec@gmail.com \
--cc=jroedel@suse.de \
--cc=mjrosato@linux.ibm.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=schnelle@linux.ibm.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.