stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Jason Gunthorpe <jgg@nvidia.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.17 122/219] vfio/pci: Fix vf_token mechanism when device-specific VF drivers are used
Date: Mon, 18 Apr 2022 14:11:31 +0200	[thread overview]
Message-ID: <20220418121210.313434555@linuxfoundation.org> (raw)
In-Reply-To: <20220418121203.462784814@linuxfoundation.org>

From: Jason Gunthorpe <jgg@nvidia.com>

[ Upstream commit 1ef3342a934e235aca72b4bcc0d6854d80a65077 ]

get_pf_vdev() tries to check if a PF is a VFIO PF by looking at the driver:

       if (pci_dev_driver(physfn) != pci_dev_driver(vdev->pdev)) {

However now that we have multiple VF and PF drivers this is no longer
reliable.

This means that security tests realted to vf_token can be skipped by
mixing and matching different VFIO PCI drivers.

Instead of trying to use the driver core to find the PF devices maintain a
linked list of all PF vfio_pci_core_device's that we have called
pci_enable_sriov() on.

When registering a VF just search the list to see if the PF is present and
record the match permanently in the struct. PCI core locking prevents a PF
from passing pci_disable_sriov() while VF drivers are attached so the VFIO
owned PF becomes a static property of the VF.

In common cases where vfio does not own the PF the global list remains
empty and the VF's pointer is statically NULL.

This also fixes a lockdep splat from recursive locking of the
vfio_group::device_lock between vfio_device_get_from_name() and
vfio_device_get_from_dev(). If the VF and PF share the same group this
would deadlock.

Fixes: ff53edf6d6ab ("vfio/pci: Split the pci_driver code out of vfio_pci_core.c")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/0-v3-876570980634+f2e8-vfio_vf_token_jgg@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/vfio/pci/vfio_pci_core.c | 124 ++++++++++++++++++-------------
 include/linux/vfio_pci_core.h    |   2 +
 2 files changed, 76 insertions(+), 50 deletions(-)

diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
index 2e6409cc11ad..ef54ef11af55 100644
--- a/drivers/vfio/pci/vfio_pci_core.c
+++ b/drivers/vfio/pci/vfio_pci_core.c
@@ -36,6 +36,10 @@ static bool nointxmask;
 static bool disable_vga;
 static bool disable_idle_d3;
 
+/* List of PF's that vfio_pci_core_sriov_configure() has been called on */
+static DEFINE_MUTEX(vfio_pci_sriov_pfs_mutex);
+static LIST_HEAD(vfio_pci_sriov_pfs);
+
 static inline bool vfio_vga_disabled(void)
 {
 #ifdef CONFIG_VFIO_PCI_VGA
@@ -434,47 +438,17 @@ void vfio_pci_core_disable(struct vfio_pci_core_device *vdev)
 }
 EXPORT_SYMBOL_GPL(vfio_pci_core_disable);
 
-static struct vfio_pci_core_device *get_pf_vdev(struct vfio_pci_core_device *vdev)
-{
-	struct pci_dev *physfn = pci_physfn(vdev->pdev);
-	struct vfio_device *pf_dev;
-
-	if (!vdev->pdev->is_virtfn)
-		return NULL;
-
-	pf_dev = vfio_device_get_from_dev(&physfn->dev);
-	if (!pf_dev)
-		return NULL;
-
-	if (pci_dev_driver(physfn) != pci_dev_driver(vdev->pdev)) {
-		vfio_device_put(pf_dev);
-		return NULL;
-	}
-
-	return container_of(pf_dev, struct vfio_pci_core_device, vdev);
-}
-
-static void vfio_pci_vf_token_user_add(struct vfio_pci_core_device *vdev, int val)
-{
-	struct vfio_pci_core_device *pf_vdev = get_pf_vdev(vdev);
-
-	if (!pf_vdev)
-		return;
-
-	mutex_lock(&pf_vdev->vf_token->lock);
-	pf_vdev->vf_token->users += val;
-	WARN_ON(pf_vdev->vf_token->users < 0);
-	mutex_unlock(&pf_vdev->vf_token->lock);
-
-	vfio_device_put(&pf_vdev->vdev);
-}
-
 void vfio_pci_core_close_device(struct vfio_device *core_vdev)
 {
 	struct vfio_pci_core_device *vdev =
 		container_of(core_vdev, struct vfio_pci_core_device, vdev);
 
-	vfio_pci_vf_token_user_add(vdev, -1);
+	if (vdev->sriov_pf_core_dev) {
+		mutex_lock(&vdev->sriov_pf_core_dev->vf_token->lock);
+		WARN_ON(!vdev->sriov_pf_core_dev->vf_token->users);
+		vdev->sriov_pf_core_dev->vf_token->users--;
+		mutex_unlock(&vdev->sriov_pf_core_dev->vf_token->lock);
+	}
 	vfio_spapr_pci_eeh_release(vdev->pdev);
 	vfio_pci_core_disable(vdev);
 
@@ -495,7 +469,12 @@ void vfio_pci_core_finish_enable(struct vfio_pci_core_device *vdev)
 {
 	vfio_pci_probe_mmaps(vdev);
 	vfio_spapr_pci_eeh_open(vdev->pdev);
-	vfio_pci_vf_token_user_add(vdev, 1);
+
+	if (vdev->sriov_pf_core_dev) {
+		mutex_lock(&vdev->sriov_pf_core_dev->vf_token->lock);
+		vdev->sriov_pf_core_dev->vf_token->users++;
+		mutex_unlock(&vdev->sriov_pf_core_dev->vf_token->lock);
+	}
 }
 EXPORT_SYMBOL_GPL(vfio_pci_core_finish_enable);
 
@@ -1603,11 +1582,8 @@ static int vfio_pci_validate_vf_token(struct vfio_pci_core_device *vdev,
 	 *
 	 * If the VF token is provided but unused, an error is generated.
 	 */
-	if (!vdev->pdev->is_virtfn && !vdev->vf_token && !vf_token)
-		return 0; /* No VF token provided or required */
-
 	if (vdev->pdev->is_virtfn) {
-		struct vfio_pci_core_device *pf_vdev = get_pf_vdev(vdev);
+		struct vfio_pci_core_device *pf_vdev = vdev->sriov_pf_core_dev;
 		bool match;
 
 		if (!pf_vdev) {
@@ -1620,7 +1596,6 @@ static int vfio_pci_validate_vf_token(struct vfio_pci_core_device *vdev,
 		}
 
 		if (!vf_token) {
-			vfio_device_put(&pf_vdev->vdev);
 			pci_info_ratelimited(vdev->pdev,
 				"VF token required to access device\n");
 			return -EACCES;
@@ -1630,8 +1605,6 @@ static int vfio_pci_validate_vf_token(struct vfio_pci_core_device *vdev,
 		match = uuid_equal(uuid, &pf_vdev->vf_token->uuid);
 		mutex_unlock(&pf_vdev->vf_token->lock);
 
-		vfio_device_put(&pf_vdev->vdev);
-
 		if (!match) {
 			pci_info_ratelimited(vdev->pdev,
 				"Incorrect VF token provided for device\n");
@@ -1752,8 +1725,30 @@ static int vfio_pci_bus_notifier(struct notifier_block *nb,
 static int vfio_pci_vf_init(struct vfio_pci_core_device *vdev)
 {
 	struct pci_dev *pdev = vdev->pdev;
+	struct vfio_pci_core_device *cur;
+	struct pci_dev *physfn;
 	int ret;
 
+	if (pdev->is_virtfn) {
+		/*
+		 * If this VF was created by our vfio_pci_core_sriov_configure()
+		 * then we can find the PF vfio_pci_core_device now, and due to
+		 * the locking in pci_disable_sriov() it cannot change until
+		 * this VF device driver is removed.
+		 */
+		physfn = pci_physfn(vdev->pdev);
+		mutex_lock(&vfio_pci_sriov_pfs_mutex);
+		list_for_each_entry(cur, &vfio_pci_sriov_pfs, sriov_pfs_item) {
+			if (cur->pdev == physfn) {
+				vdev->sriov_pf_core_dev = cur;
+				break;
+			}
+		}
+		mutex_unlock(&vfio_pci_sriov_pfs_mutex);
+		return 0;
+	}
+
+	/* Not a SRIOV PF */
 	if (!pdev->is_physfn)
 		return 0;
 
@@ -1825,6 +1820,7 @@ void vfio_pci_core_init_device(struct vfio_pci_core_device *vdev,
 	INIT_LIST_HEAD(&vdev->ioeventfds_list);
 	mutex_init(&vdev->vma_lock);
 	INIT_LIST_HEAD(&vdev->vma_list);
+	INIT_LIST_HEAD(&vdev->sriov_pfs_item);
 	init_rwsem(&vdev->memory_lock);
 }
 EXPORT_SYMBOL_GPL(vfio_pci_core_init_device);
@@ -1916,7 +1912,7 @@ void vfio_pci_core_unregister_device(struct vfio_pci_core_device *vdev)
 {
 	struct pci_dev *pdev = vdev->pdev;
 
-	pci_disable_sriov(pdev);
+	vfio_pci_core_sriov_configure(pdev, 0);
 
 	vfio_unregister_group_dev(&vdev->vdev);
 
@@ -1954,21 +1950,49 @@ static pci_ers_result_t vfio_pci_aer_err_detected(struct pci_dev *pdev,
 
 int vfio_pci_core_sriov_configure(struct pci_dev *pdev, int nr_virtfn)
 {
+	struct vfio_pci_core_device *vdev;
 	struct vfio_device *device;
 	int ret = 0;
 
+	device_lock_assert(&pdev->dev);
+
 	device = vfio_device_get_from_dev(&pdev->dev);
 	if (!device)
 		return -ENODEV;
 
-	if (nr_virtfn == 0)
-		pci_disable_sriov(pdev);
-	else
+	vdev = container_of(device, struct vfio_pci_core_device, vdev);
+
+	if (nr_virtfn) {
+		mutex_lock(&vfio_pci_sriov_pfs_mutex);
+		/*
+		 * The thread that adds the vdev to the list is the only thread
+		 * that gets to call pci_enable_sriov() and we will only allow
+		 * it to be called once without going through
+		 * pci_disable_sriov()
+		 */
+		if (!list_empty(&vdev->sriov_pfs_item)) {
+			ret = -EINVAL;
+			goto out_unlock;
+		}
+		list_add_tail(&vdev->sriov_pfs_item, &vfio_pci_sriov_pfs);
+		mutex_unlock(&vfio_pci_sriov_pfs_mutex);
 		ret = pci_enable_sriov(pdev, nr_virtfn);
+		if (ret)
+			goto out_del;
+		ret = nr_virtfn;
+		goto out_put;
+	}
 
-	vfio_device_put(device);
+	pci_disable_sriov(pdev);
 
-	return ret < 0 ? ret : nr_virtfn;
+out_del:
+	mutex_lock(&vfio_pci_sriov_pfs_mutex);
+	list_del_init(&vdev->sriov_pfs_item);
+out_unlock:
+	mutex_unlock(&vfio_pci_sriov_pfs_mutex);
+out_put:
+	vfio_device_put(device);
+	return ret;
 }
 EXPORT_SYMBOL_GPL(vfio_pci_core_sriov_configure);
 
diff --git a/include/linux/vfio_pci_core.h b/include/linux/vfio_pci_core.h
index ae6f4838ab75..6e5db4edc335 100644
--- a/include/linux/vfio_pci_core.h
+++ b/include/linux/vfio_pci_core.h
@@ -133,6 +133,8 @@ struct vfio_pci_core_device {
 	struct mutex		ioeventfds_lock;
 	struct list_head	ioeventfds_list;
 	struct vfio_pci_vf_token	*vf_token;
+	struct list_head		sriov_pfs_item;
+	struct vfio_pci_core_device	*sriov_pf_core_dev;
 	struct notifier_block	nb;
 	struct mutex		vma_lock;
 	struct list_head	vma_list;
-- 
2.35.1




  parent reply	other threads:[~2022-04-18 12:27 UTC|newest]

Thread overview: 232+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18 12:09 [PATCH 5.17 000/219] 5.17.4-rc1 review Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 001/219] drm/amd/display: Add pstate verification and recovery for DCN31 Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 002/219] drm/amd/display: Fix p-state allow debug index on dcn31 Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 003/219] cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 004/219] ACPI: processor idle: Check for architectural support for LPI Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 005/219] net: dsa: realtek: allow subdrivers to externally lock regmap Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 006/219] net: dsa: realtek: rtl8365mb: serialize indirect PHY register access Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 007/219] net: dsa: realtek: make interface drivers depend on OF Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 008/219] btrfs: remove no longer used counter when reading data page Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 009/219] btrfs: remove unused variable in btrfs_{start,write}_dirty_block_groups() Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 010/219] RISC-V: KVM: Dont clear hgatp CSR in kvm_arch_vcpu_put() Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 011/219] media: si2157: unknown chip version Si2147-A30 ROM 0x50 Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 012/219] uapi/linux/stddef.h: Add include guards Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 013/219] drm/amdgpu: Ensure HDA function is suspended before ASIC reset Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 014/219] btrfs: release correct delalloc amount in direct IO write path Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 015/219] btrfs: fix btrfs_submit_compressed_write cgroup attribution Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 016/219] btrfs: return allocated block group from do_chunk_alloc() Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 017/219] ALSA: core: Add snd_card_free_on_error() helper Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 018/219] ALSA: sis7019: Fix the missing error handling Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 019/219] ALSA: ali5451: Fix the missing snd_card_free() call at probe error Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 020/219] ALSA: als300: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 021/219] ALSA: als4000: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 022/219] ALSA: atiixp: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 023/219] ALSA: au88x0: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 024/219] ALSA: aw2: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 025/219] ALSA: azt3328: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 026/219] ALSA: bt87x: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 027/219] ALSA: ca0106: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 028/219] ALSA: cmipci: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 029/219] ALSA: cs4281: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 030/219] ALSA: cs5535audio: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 031/219] ALSA: echoaudio: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 032/219] ALSA: emu10k1x: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 033/219] ALSA: ens137x: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 034/219] ALSA: es1938: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 035/219] ALSA: es1968: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 036/219] ALSA: fm801: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 037/219] ALSA: galaxy: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 038/219] ALSA: hdsp: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 039/219] ALSA: hdspm: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 040/219] ALSA: ice1724: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 041/219] ALSA: intel8x0: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 042/219] ALSA: intel_hdmi: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 043/219] ALSA: korg1212: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 044/219] ALSA: lola: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 045/219] ALSA: lx6464es: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 046/219] ALSA: maestro3: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 047/219] ALSA: oxygen: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 048/219] ALSA: riptide: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 049/219] ALSA: rme32: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 050/219] ALSA: rme9652: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 051/219] ALSA: rme96: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 052/219] ALSA: sc6000: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 053/219] ALSA: sonicvibes: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 054/219] ALSA: via82xx: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 055/219] ALSA: usb-audio: Cap upper limits of buffer/period bytes for implicit fb Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 056/219] ALSA: memalloc: Add fallback SG-buffer allocations for x86 Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 057/219] ALSA: nm256: Dont call card private_free at probe error path Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 058/219] drm/msm: Add missing put_task_struct() in debugfs path Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 059/219] nfsd: Fix a write performance regression Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 060/219] firmware: arm_scmi: Remove clear channel call on the TX channel Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 061/219] memory: atmel-ebi: Fix missing of_node_put in atmel_ebi_probe Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 062/219] Revert "ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax" Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 063/219] firmware: arm_scmi: Fix sorting of retrieved clock rates Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 064/219] media: rockchip/rga: do proper error checking in probe Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 065/219] KVM: arm64: Generalise VM features into a set of flags Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 066/219] KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 067/219] SUNRPC: Fix the svc_deferred_event trace class Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 068/219] net/sched: flower: fix parsing of ethertype following VLAN header Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 069/219] veth: Ensure eth header is in skbs linear part Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 070/219] gpiolib: acpi: use correct format characters Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 071/219] cifs: release cached dentries only if mount is complete Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 072/219] ice: arfs: fix use-after-free when freeing @rx_cpu_rmap Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 073/219] Revert "iavf: Fix deadlock occurrence during resetting VF interface" Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 074/219] net: mdio: dont defer probe forever if PHY IRQ provider is missing Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 075/219] mlxsw: i2c: Fix initialization error flow Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 076/219] sctp: use the correct skb for security_sctp_assoc_request Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 077/219] net/sched: fix initialization order when updating chain 0 head Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 078/219] cachefiles: unmark inode in use in error path Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 079/219] cachefiles: Fix KASAN slab-out-of-bounds in cachefiles_set_volume_xattr Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 080/219] net: dsa: felix: suppress -EPROBE_DEFER errors Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 081/219] KVM: selftests: riscv: Set PTE A and D bits in VS-stage page table Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 082/219] KVM: selftests: riscv: Fix alignment of the guest_hang() function Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 083/219] RISC-V: KVM: include missing hwcap.h into vcpu_fp Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 084/219] io_uring: flag the fact that linked file assignment is sane Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 085/219] net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 086/219] net/sched: taprio: Check if socket flags are valid Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 087/219] cfg80211: hold bss_lock while updating nontrans_list Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 088/219] mac80211: fix ht_capa printout in debugfs Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 089/219] netfilter: nft_socket: make cgroup match work in input too Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 090/219] drm/msm: Fix range size vs end confusion Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 091/219] drm/msm/dsi: Use connector directly in msm_dsi_manager_connector_init() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 092/219] drm/msm/dp: add fail safe mode outside of event_mutex context Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 093/219] io_uring: stop using io_wq_work as an fd placeholder Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 094/219] net/smc: use memcpy instead of snprintf to avoid out of bounds read Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 095/219] net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 096/219] scsi: pm80xx: Mask and unmask upper interrupt vectors 32-63 Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 097/219] scsi: pm80xx: Enable upper inbound, outbound queues Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 098/219] scsi: iscsi: Move iscsi_ep_disconnect() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 099/219] scsi: iscsi: Fix offload conn cleanup when iscsid restarts Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 100/219] scsi: iscsi: Fix endpoint reuse regression Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 101/219] scsi: iscsi: Fix conn cleanup and stop race during iscsid restart Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 102/219] scsi: iscsi: Fix unbound endpoint error handling Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 103/219] sctp: Initialize daddr on peeled off socket Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 104/219] net: lan966x: Fix when a ports upper is changed Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 105/219] net: lan966x: Stop processing the MAC entry is port is wrong Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 106/219] netfilter: nf_tables: nft_parse_register can return a negative value Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 107/219] io_uring: fix assign file locking issue Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 108/219] ALSA: ad1889: Fix the missing snd_card_free() call at probe error Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 109/219] ALSA: mtpav: Dont call card private_free at probe error path Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 110/219] io_uring: move io_uring_rsrc_update2 validation Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 111/219] io_uring: verify that resv2 is 0 in io_uring_rsrc_update2 Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 112/219] io_uring: verify pad field is 0 in io_get_ext_arg Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 113/219] testing/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu set Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 114/219] ALSA: usb-audio: Increase max buffer size Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 115/219] ALSA: usb-audio: Limit max buffer and period sizes per time Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 116/219] perf tools: Fix misleading add event PMU debug message Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 117/219] macvlan: Fix leaking skb in source mode with nodst option Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 118/219] net: ftgmac100: access hardware register after clock ready Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 119/219] nfc: nci: add flush_workqueue to prevent uaf Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 120/219] cifs: potential buffer overflow in handling symlinks Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 121/219] dm mpath: only use ktime_get_ns() in historical selector Greg Kroah-Hartman
2022-04-18 12:11 ` Greg Kroah-Hartman [this message]
2022-04-18 12:11 ` [PATCH 5.17 123/219] tun: annotate access to queue->trans_start Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 124/219] net: dsa: felix: fix tagging protocol changes with multiple CPU ports Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 125/219] net: bcmgenet: Revert "Use stronger register read/writes to assure ordering" Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 126/219] block: fix offset/size check in bio_trim() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 127/219] block: null_blk: end timed out poll request Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 128/219] io_uring: abort file assignment prior to assigning creds Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 129/219] KVM: PPC: Book3S HV P9: Fix "lost kick" race Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 130/219] drm/amd: Add USBC connector ID Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 131/219] btrfs: fix fallocate to use file_modified to update permissions consistently Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 132/219] btrfs: do not warn for free space inode in cow_file_range Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 133/219] drm/amdgpu: conduct a proper cleanup of PDB bo Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 134/219] drm/amdgpu/gmc: use PCI BARs for APUs in passthrough Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 135/219] drm/amd/display: fix audio format not updated after edid updated Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 136/219] drm/amd/display: FEC check in timing validation Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 137/219] drm/amd/display: Update VTEM Infopacket definition Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 138/219] drm/amdkfd: Fix Incorrect VMIDs passed to HWS Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 139/219] drm/amdgpu/vcn: improve vcn dpg stop procedure Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 140/219] drm/amdkfd: Check for potential null return of kmalloc_array() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 141/219] Drivers: hv: vmbus: Deactivate sysctl_record_panic_msg by default in isolated guests Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 142/219] Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 143/219] PCI: hv: Propagate coherence from VMbus device to PCI device Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 144/219] Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 145/219] scsi: target: tcmu: Fix possible page UAF Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 146/219] scsi: lpfc: Improve PCI EEH Error and Recovery Handling Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 147/219] scsi: lpfc: Fix unload hang after back to back PCI EEH faults Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 148/219] scsi: lpfc: Fix queue failures when recovering from PCI parity error Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 149/219] scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024 Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 150/219] net: micrel: fix KS8851_MLL Kconfig Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 151/219] ata: libata-core: Disable READ LOG DMA EXT for Samsung 840 EVOs Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 152/219] gpu: ipu-v3: Fix dev_dbg frequency output Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 153/219] regulator: wm8994: Add an off-on delay for WM8994 variant Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 154/219] static_call: Properly initialise DEFINE_STATIC_CALL_RET0() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 155/219] arm64: alternatives: mark patch_alternative() as `noinstr` Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 156/219] tlb: hugetlb: Add more sizes to tlb_remove_huge_tlb_entry Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 157/219] net: axienet: setup mdio unconditionally Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 158/219] Drivers: hv: balloon: Disable balloon and hot-add accordingly Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 159/219] net: usb: aqc111: Fix out-of-bounds accesses in RX fixup Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 160/219] myri10ge: fix an incorrect free for skb in myri10ge_sw_tso Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 161/219] spi: cadence-quadspi: fix protocol setup for non-1-1-X operations Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 162/219] drm/amd/display: Correct Slice reset calculation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 163/219] drm/amd/display: Enable power gating before init_pipes Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 164/219] drm/amd/display: Revert FEC check in validation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 165/219] drm/amd/display: Fix allocate_mst_payload assert on resume Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 166/219] drbd: set QUEUE_FLAG_STABLE_WRITES Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 167/219] scsi: mpt3sas: Fail reset operation if config request timed out Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 168/219] scsi: mvsas: Add PCI ID of RocketRaid 2640 Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 169/219] scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 170/219] drivers: net: slip: fix NPD bug in sl_tx_timeout() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 171/219] x86,bpf: Avoid IBT objtool warning Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 172/219] io_uring: zero tag on rsrc removal Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 173/219] io_uring: use nospec annotation for more indexes Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 174/219] perf/imx_ddr: Fix undefined behavior due to shift overflowing the constant Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 175/219] mm/secretmem: fix panic when growing a memfd_secret Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 176/219] mm, page_alloc: fix build_zonerefs_node() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 177/219] mm: fix unexpected zeroed page mapping with zram swap Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 178/219] mm: kmemleak: take a full lowmem check in kmemleak_*_phys() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 179/219] hugetlb: do not demote poisoned hugetlb pages Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 180/219] revert "fs/binfmt_elf: fix PT_LOAD p_align values for loaders" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 181/219] revert "fs/binfmt_elf: use PT_LOAD p_align values for static PIE" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 182/219] KVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 183/219] KVM: Dont create VM debugfs files outside of the VM directory Greg Kroah-Hartman
2022-04-18 17:14   ` Oliver Upton
2022-04-19  7:33     ` Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 184/219] SUNRPC: Fix NFSDs request deferral on RDMA transports Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 185/219] memory: renesas-rpc-if: fix platform-device leak in error path Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 186/219] gcc-plugins: latent_entropy: use /dev/urandom Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 187/219] cifs: verify that tcon is valid before dereference in cifs_kill_sb Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 188/219] gpio: sim: fix setting and getting multiple lines Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 189/219] ath9k: Properly clear TX status area before reporting to mac80211 Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 190/219] ath9k: Fix usage of driver-private space in tx_info Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 191/219] btrfs: zoned: activate block group only for extent allocation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 192/219] btrfs: fix root ref counts in error handling in btrfs_get_root_ref Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 193/219] btrfs: mark resumed async balance as writing Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 194/219] ALSA: hda/realtek: Add quirk for Clevo PD50PNT Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 195/219] ALSA: hda/realtek: add quirk for Lenovo Thinkpad X12 speakers Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 196/219] ALSA: pcm: Test for "silence" field in struct "pcm_format_data" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 197/219] nl80211: correctly check NL80211_ATTR_REG_ALPHA2 size Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 198/219] ipv6: fix panic when forwarding a pkt with no in6 dev Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 199/219] drm/amd/display: dont ignore alpha property on pre-multiplied mode Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 200/219] drm/amdgpu: Enable gfxoff quirk on MacBook Pro Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 201/219] x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 202/219] x86/tsx: Disable TSX development mode at boot Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 203/219] genirq/affinity: Consider that CPUs on nodes can be unbalanced Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 204/219] tick/nohz: Use WARN_ON_ONCE() to prevent console saturation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 205/219] ARM: davinci: da850-evm: Avoid NULL pointer dereference Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 206/219] ep93xx: clock: Fix UAF in ep93xx_clk_register_gate() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 207/219] dm integrity: fix memory corruption when tag_size is less than digest size Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 208/219] i2c: dev: check return value when calling dev_set_name() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 209/219] Revert "net: dsa: setup master before ports" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 210/219] smp: Fix offline cpu check in flush_smp_call_function_queue() Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 211/219] dt-bindings: memory: snps,ddrc-3.80a compatible also need interrupts Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 212/219] i2c: pasemi: Wait for write xfers to finish Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 213/219] dt-bindings: net: snps: remove duplicate name Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 214/219] timers: Fix warning condition in __run_timers() Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 215/219] dma-direct: avoid redundant memory sync for swiotlb Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 216/219] mm, kfence: support kmem_dump_obj() for KFENCE objects Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 217/219] drm/i915: Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 218/219] cpu/hotplug: Remove the cpu member of cpuhp_cpu_state Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 219/219] ax25: Fix UAF bugs in ax25 timers Greg Kroah-Hartman
2022-04-18 20:16 ` [PATCH 5.17 000/219] 5.17.4-rc1 review Justin Forbes
2022-04-18 20:29 ` Florian Fainelli
2022-04-19  0:07 ` Guenter Roeck
2022-04-19  0:08 ` Shuah Khan
2022-04-19  0:51 ` Rudi Heitbaum
2022-04-19  2:47 ` Zan Aziz
2022-04-19  4:08 ` Naresh Kamboju
2022-04-19 10:45 ` Ron Economos
2022-04-19 12:21 ` Jon Hunter
2022-04-20  4:44 ` Jiri Slaby

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=20220418121210.313434555@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alex.williamson@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).