linux-kernel.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, Zhiyi Guo <zhguo@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.8 103/148] vfio-pci: Avoid recursive read-lock usage
Date: Mon, 24 Aug 2020 10:30:01 +0200	[thread overview]
Message-ID: <20200824082418.965556568@linuxfoundation.org> (raw)
In-Reply-To: <20200824082413.900489417@linuxfoundation.org>

From: Alex Williamson <alex.williamson@redhat.com>

[ Upstream commit bc93b9ae0151ae5ad5b8504cdc598428ea99570b ]

A down_read on memory_lock is held when performing read/write accesses
to MMIO BAR space, including across the copy_to/from_user() callouts
which may fault.  If the user buffer for these copies resides in an
mmap of device MMIO space, the mmap fault handler will acquire a
recursive read-lock on memory_lock.  Avoid this by reducing the lock
granularity.  Sequential accesses requiring multiple ioread/iowrite
cycles are expected to be rare, therefore typical accesses should not
see additional overhead.

VGA MMIO accesses are expected to be non-fatal regardless of the PCI
memory enable bit to allow legacy probing, this behavior remains with
a comment added.  ioeventfds are now included in memory access testing,
with writes dropped while memory space is disabled.

Fixes: abafbc551fdd ("vfio-pci: Invalidate mmaps and block MMIO access on disabled memory")
Reported-by: Zhiyi Guo <zhguo@redhat.com>
Tested-by: Zhiyi Guo <zhguo@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/vfio/pci/vfio_pci_private.h |   2 +
 drivers/vfio/pci/vfio_pci_rdwr.c    | 120 ++++++++++++++++++++++------
 2 files changed, 98 insertions(+), 24 deletions(-)

diff --git a/drivers/vfio/pci/vfio_pci_private.h b/drivers/vfio/pci/vfio_pci_private.h
index 86a02aff8735f..61ca8ab165dc1 100644
--- a/drivers/vfio/pci/vfio_pci_private.h
+++ b/drivers/vfio/pci/vfio_pci_private.h
@@ -33,12 +33,14 @@
 
 struct vfio_pci_ioeventfd {
 	struct list_head	next;
+	struct vfio_pci_device	*vdev;
 	struct virqfd		*virqfd;
 	void __iomem		*addr;
 	uint64_t		data;
 	loff_t			pos;
 	int			bar;
 	int			count;
+	bool			test_mem;
 };
 
 struct vfio_pci_irq_ctx {
diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c
index 916b184df3a5b..9e353c484ace2 100644
--- a/drivers/vfio/pci/vfio_pci_rdwr.c
+++ b/drivers/vfio/pci/vfio_pci_rdwr.c
@@ -37,17 +37,70 @@
 #define vfio_ioread8	ioread8
 #define vfio_iowrite8	iowrite8
 
+#define VFIO_IOWRITE(size) \
+static int vfio_pci_iowrite##size(struct vfio_pci_device *vdev,		\
+			bool test_mem, u##size val, void __iomem *io)	\
+{									\
+	if (test_mem) {							\
+		down_read(&vdev->memory_lock);				\
+		if (!__vfio_pci_memory_enabled(vdev)) {			\
+			up_read(&vdev->memory_lock);			\
+			return -EIO;					\
+		}							\
+	}								\
+									\
+	vfio_iowrite##size(val, io);					\
+									\
+	if (test_mem)							\
+		up_read(&vdev->memory_lock);				\
+									\
+	return 0;							\
+}
+
+VFIO_IOWRITE(8)
+VFIO_IOWRITE(16)
+VFIO_IOWRITE(32)
+#ifdef iowrite64
+VFIO_IOWRITE(64)
+#endif
+
+#define VFIO_IOREAD(size) \
+static int vfio_pci_ioread##size(struct vfio_pci_device *vdev,		\
+			bool test_mem, u##size *val, void __iomem *io)	\
+{									\
+	if (test_mem) {							\
+		down_read(&vdev->memory_lock);				\
+		if (!__vfio_pci_memory_enabled(vdev)) {			\
+			up_read(&vdev->memory_lock);			\
+			return -EIO;					\
+		}							\
+	}								\
+									\
+	*val = vfio_ioread##size(io);					\
+									\
+	if (test_mem)							\
+		up_read(&vdev->memory_lock);				\
+									\
+	return 0;							\
+}
+
+VFIO_IOREAD(8)
+VFIO_IOREAD(16)
+VFIO_IOREAD(32)
+
 /*
  * Read or write from an __iomem region (MMIO or I/O port) with an excluded
  * range which is inaccessible.  The excluded range drops writes and fills
  * reads with -1.  This is intended for handling MSI-X vector tables and
  * leftover space for ROM BARs.
  */
-static ssize_t do_io_rw(void __iomem *io, char __user *buf,
+static ssize_t do_io_rw(struct vfio_pci_device *vdev, bool test_mem,
+			void __iomem *io, char __user *buf,
 			loff_t off, size_t count, size_t x_start,
 			size_t x_end, bool iswrite)
 {
 	ssize_t done = 0;
+	int ret;
 
 	while (count) {
 		size_t fillable, filled;
@@ -66,9 +119,15 @@ static ssize_t do_io_rw(void __iomem *io, char __user *buf,
 				if (copy_from_user(&val, buf, 4))
 					return -EFAULT;
 
-				vfio_iowrite32(val, io + off);
+				ret = vfio_pci_iowrite32(vdev, test_mem,
+							 val, io + off);
+				if (ret)
+					return ret;
 			} else {
-				val = vfio_ioread32(io + off);
+				ret = vfio_pci_ioread32(vdev, test_mem,
+							&val, io + off);
+				if (ret)
+					return ret;
 
 				if (copy_to_user(buf, &val, 4))
 					return -EFAULT;
@@ -82,9 +141,15 @@ static ssize_t do_io_rw(void __iomem *io, char __user *buf,
 				if (copy_from_user(&val, buf, 2))
 					return -EFAULT;
 
-				vfio_iowrite16(val, io + off);
+				ret = vfio_pci_iowrite16(vdev, test_mem,
+							 val, io + off);
+				if (ret)
+					return ret;
 			} else {
-				val = vfio_ioread16(io + off);
+				ret = vfio_pci_ioread16(vdev, test_mem,
+							&val, io + off);
+				if (ret)
+					return ret;
 
 				if (copy_to_user(buf, &val, 2))
 					return -EFAULT;
@@ -98,9 +163,15 @@ static ssize_t do_io_rw(void __iomem *io, char __user *buf,
 				if (copy_from_user(&val, buf, 1))
 					return -EFAULT;
 
-				vfio_iowrite8(val, io + off);
+				ret = vfio_pci_iowrite8(vdev, test_mem,
+							val, io + off);
+				if (ret)
+					return ret;
 			} else {
-				val = vfio_ioread8(io + off);
+				ret = vfio_pci_ioread8(vdev, test_mem,
+						       &val, io + off);
+				if (ret)
+					return ret;
 
 				if (copy_to_user(buf, &val, 1))
 					return -EFAULT;
@@ -178,14 +249,6 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_device *vdev, char __user *buf,
 
 	count = min(count, (size_t)(end - pos));
 
-	if (res->flags & IORESOURCE_MEM) {
-		down_read(&vdev->memory_lock);
-		if (!__vfio_pci_memory_enabled(vdev)) {
-			up_read(&vdev->memory_lock);
-			return -EIO;
-		}
-	}
-
 	if (bar == PCI_ROM_RESOURCE) {
 		/*
 		 * The ROM can fill less space than the BAR, so we start the
@@ -213,7 +276,8 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_device *vdev, char __user *buf,
 		x_end = vdev->msix_offset + vdev->msix_size;
 	}
 
-	done = do_io_rw(io, buf, pos, count, x_start, x_end, iswrite);
+	done = do_io_rw(vdev, res->flags & IORESOURCE_MEM, io, buf, pos,
+			count, x_start, x_end, iswrite);
 
 	if (done >= 0)
 		*ppos += done;
@@ -221,9 +285,6 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_device *vdev, char __user *buf,
 	if (bar == PCI_ROM_RESOURCE)
 		pci_unmap_rom(pdev, io);
 out:
-	if (res->flags & IORESOURCE_MEM)
-		up_read(&vdev->memory_lock);
-
 	return done;
 }
 
@@ -278,7 +339,12 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char __user *buf,
 		return ret;
 	}
 
-	done = do_io_rw(iomem, buf, off, count, 0, 0, iswrite);
+	/*
+	 * VGA MMIO is a legacy, non-BAR resource that hopefully allows
+	 * probing, so we don't currently worry about access in relation
+	 * to the memory enable bit in the command register.
+	 */
+	done = do_io_rw(vdev, false, iomem, buf, off, count, 0, 0, iswrite);
 
 	vga_put(vdev->pdev, rsrc);
 
@@ -296,17 +362,21 @@ static int vfio_pci_ioeventfd_handler(void *opaque, void *unused)
 
 	switch (ioeventfd->count) {
 	case 1:
-		vfio_iowrite8(ioeventfd->data, ioeventfd->addr);
+		vfio_pci_iowrite8(ioeventfd->vdev, ioeventfd->test_mem,
+				  ioeventfd->data, ioeventfd->addr);
 		break;
 	case 2:
-		vfio_iowrite16(ioeventfd->data, ioeventfd->addr);
+		vfio_pci_iowrite16(ioeventfd->vdev, ioeventfd->test_mem,
+				   ioeventfd->data, ioeventfd->addr);
 		break;
 	case 4:
-		vfio_iowrite32(ioeventfd->data, ioeventfd->addr);
+		vfio_pci_iowrite32(ioeventfd->vdev, ioeventfd->test_mem,
+				   ioeventfd->data, ioeventfd->addr);
 		break;
 #ifdef iowrite64
 	case 8:
-		vfio_iowrite64(ioeventfd->data, ioeventfd->addr);
+		vfio_pci_iowrite64(ioeventfd->vdev, ioeventfd->test_mem,
+				   ioeventfd->data, ioeventfd->addr);
 		break;
 #endif
 	}
@@ -378,11 +448,13 @@ long vfio_pci_ioeventfd(struct vfio_pci_device *vdev, loff_t offset,
 		goto out_unlock;
 	}
 
+	ioeventfd->vdev = vdev;
 	ioeventfd->addr = vdev->barmap[bar] + pos;
 	ioeventfd->data = data;
 	ioeventfd->pos = pos;
 	ioeventfd->bar = bar;
 	ioeventfd->count = count;
+	ioeventfd->test_mem = vdev->pdev->resource[bar].flags & IORESOURCE_MEM;
 
 	ret = vfio_virqfd_enable(ioeventfd, vfio_pci_ioeventfd_handler,
 				 NULL, NULL, &ioeventfd->virqfd, fd);
-- 
2.25.1




  parent reply	other threads:[~2020-08-24  8:36 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-24  8:28 [PATCH 5.8 000/148] 5.8.4-rc1 review Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 001/148] drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 002/148] drm/panel-simple: Fix inverted V/H SYNC for Frida FRD350H54004 panel Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 003/148] drm/ast: Remove unused code paths for AST 1180 Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 004/148] drm/ast: Initialize DRAM type before posting GPU Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 005/148] khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 006/148] ALSA: hda: avoid reset of sdo_limit Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 007/148] ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 008/148] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 009/148] can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in j1939_tp_txtimer() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 010/148] can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 011/148] spi: Prevent adding devices below an unregistering controller Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 012/148] io_uring: find and cancel head link async work on files exit Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 013/148] mm/vunmap: add cond_resched() in vunmap_pmd_range Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 014/148] romfs: fix uninitialized memory leak in romfs_dev_read() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 015/148] kernel/relay.c: fix memleak on destroy relay channel Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 016/148] uprobes: __replace_page() avoid BUG in munlock_vma_page() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 017/148] squashfs: avoid bio_alloc() failure with 1Mbyte blocks Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 018/148] mm: include CMA pages in lowmem_reserve at boot Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 019/148] mm, page_alloc: fix core hung in free_pcppages_bulk() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 020/148] ASoC: amd: renoir: restore two more registers during resume Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 021/148] RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 022/148] opp: Enable resources again if they were disabled earlier Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 023/148] opp: Put opp table in dev_pm_opp_set_rate() for empty tables Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 024/148] opp: Put opp table in dev_pm_opp_set_rate() if _set_opp_bw() fails Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 025/148] ext4: do not block RWF_NOWAIT dio write on unallocated space Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 026/148] ext4: fix checking of directory entry validity for inline directories Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 027/148] jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 028/148] scsi: zfcp: Fix use-after-free in request timeout handlers Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 029/148] KVM: Pass MMU notifier range flags to kvm_unmap_hva_range() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 030/148] selftests: kvm: Use a shorter encoding to clear RAX Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 031/148] s390/pci: fix zpci_bus_link_virtfn() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 032/148] s390/pci: re-introduce zpci_remove_device() Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 033/148] s390/pci: fix PF/VF linking on hot plug Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 034/148] s390/pci: ignore stale configuration request event Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 035/148] mm/memory.c: skip spurious TLB flush for retried page fault Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 036/148] drm: amdgpu: Use the correct size when allocating memory Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 037/148] drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 038/148] drm/amd/display: Fix incorrect backlight register offset for DCN Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 039/148] drm/amd/display: Fix EDID parsing after resume from suspend Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 040/148] drm/amd/display: Blank stream before destroying HDCP session Greg Kroah-Hartman
2020-08-24  8:28 ` [PATCH 5.8 041/148] drm/amd/display: Fix DFPstate hang due to view port changed Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 042/148] drm/amd/display: fix pow() crashing when given base 0 Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 043/148] drm/i915/pmu: Prefer drm_WARN_ON over WARN_ON Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 044/148] drm/i915: Provide the perf pmu.module Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 045/148] scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 046/148] scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 047/148] media: budget-core: Improve exception handling in budget_register() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 048/148] media: coda: jpeg: add NULL check after kmalloc Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 049/148] f2fs: fix to check page dirty status before writeback Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 050/148] rtc: goldfish: Enable interrupt in set_alarm() when necessary Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 051/148] media: vpss: clean up resources in init Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 052/148] f2fs: should avoid inode eviction in synchronous path Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 053/148] Input: psmouse - add a newline when printing proto by sysfs Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 054/148] MIPS: Fix unable to reserve memory for Crash kernel Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 055/148] m68knommu: fix overwriting of bits in ColdFire V3 cache control Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 056/148] svcrdma: Fix another Receive buffer leak Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 057/148] xfs: fix inode quota reservation checks Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 058/148] drm/ttm: fix offset in VMAs with a pg_offs in ttm_bo_vm_access Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 059/148] riscv: Fixup static_obj() fail Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 060/148] jffs2: fix UAF problem Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 061/148] ceph: fix use-after-free for fsc->mdsc Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 062/148] swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 063/148] cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 064/148] scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 065/148] virtio_ring: Avoid loop when vq is broken in virtqueue_poll Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 066/148] media: camss: fix memory leaks on error handling paths in probe Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 067/148] tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 068/148] xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 069/148] alpha: fix annotation of io{read,write}{16,32}be() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 070/148] fat: fix fat_ra_init() for data clusters == 0 Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 071/148] fs/signalfd.c: fix inconsistent return codes for signalfd4 Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 072/148] ext4: fix potential negative array index in do_split() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 073/148] drm/virtio: fix missing dma_fence_put() in virtio_gpu_execbuffer_ioctl() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 074/148] ext4: dont allow overlapping system zones Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 075/148] ext4: check journal inode extents more carefully Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 076/148] netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 077/148] spi: stm32: fixes suspend/resume management Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 078/148] ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 079/148] ASoC: q6routing: add dummy register read/write function Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 080/148] tools/bpftool: Make skeleton code C++17-friendly by dropping typeof() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 081/148] bpf: sock_ops ctx access may stomp registers in corner case Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 082/148] bpf: sock_ops sk access may stomp registers when dst_reg = src_reg Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 083/148] libbpf: Fix BTF-defined map-in-map initialization on 32-bit host arches Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 084/148] can: j1939: fix kernel-infoleak in j1939_sk_sock2sockaddr_can() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 085/148] can: j1939: transport: j1939_simple_recv(): ignore local J1939 messages send not by J1939 stack Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 086/148] can: j1939: transport: add j1939_session_skb_find_by_offset() function Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 087/148] igc: Fix PTP initialization Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 088/148] i40e: Set RX_ONLY mode for unicast promiscuous on VLAN Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 089/148] i40e: Fix crash during removing i40e driver Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 090/148] net: fec: correct the error path for regulator disable in probe Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 091/148] bonding: show saner speed for broadcast mode Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 092/148] can: j1939: fix support for multipacket broadcast message Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 093/148] can: j1939: cancel rxtimer on multipacket broadcast session complete Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 094/148] can: j1939: abort multipacket broadcast session when timeout occurs Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 095/148] can: j1939: add rxtimer for multipacket broadcast session Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 096/148] bonding: fix a potential double-unregister Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 097/148] ipvlan: fix device features Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 098/148] s390/runtime_instrumentation: fix storage key handling Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 099/148] s390/ptrace: " Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 100/148] ASoC: msm8916-wcd-analog: fix register Interrupt offset Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.8 101/148] ASoC: intel: Fix memleak in sst_media_open Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 102/148] watch_queue: Limit the number of watches a user can hold Greg Kroah-Hartman
2020-08-24  8:30 ` Greg Kroah-Hartman [this message]
2020-08-24  8:30 ` [PATCH 5.8 104/148] vfio/type1: Add proper error unwind for vfio_iommu_replay() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 105/148] arch/ia64: Restore arch-specific pgd_offset_k implementation Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 106/148] kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 107/148] kvm: x86: Toggling CR4.PKE " Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 108/148] of/address: check for invalid range.cpu_addr Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 109/148] scsi: ufs: ti-j721e-ufs: Fix error return in ti_j721e_ufs_probe() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 110/148] scsi: ufs: Add quirk to fix mishandling utrlclr/utmrlclr Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 111/148] scsi: ufs: Add quirk to disallow reset of interrupt aggregation Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 112/148] scsi: ufs: Add quirk to enable host controller without hce Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 113/148] scsi: ufs: Introduce UFSHCD_QUIRK_PRDT_BYTE_GRAN quirk Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 114/148] scsi: ufs: Add quirk to fix abnormal ocs fatal error Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 115/148] scsi: ufs-pci: Add quirk for broken auto-hibernate for Intel EHL Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 116/148] scsi: ufs: Fix interrupt error message for shared interrupts Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 117/148] Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe" Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 118/148] kconfig: qconf: do not limit the pop-up menu to the first row Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 119/148] kconfig: qconf: fix signal connection to invalid slots Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 120/148] efi: avoid error message when booting under Xen Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 121/148] Fix build error when CONFIG_ACPI is not set/enabled: Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 122/148] RDMA/bnxt_re: Do not add user qps to flushlist Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 123/148] Revert "RDMA/hns: Reserve one sge in order to avoid local length error" Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 124/148] afs: Fix key ref leak in afs_put_operation() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 125/148] kconfig: qconf: remove qInfo() to get back Qt4 support Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 126/148] afs: Fix NULL deref in afs_dynroot_depopulate() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 127/148] ARM64: vdso32: Install vdso32 from vdso_install Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 128/148] powerpc: Add POWER10 raw mode cputable entry Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 129/148] powerpc/fixmap: Fix the size of the early debug area Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 130/148] bpf: Use get_file_rcu() instead of get_file() for task_file iterator Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 131/148] powerpc/pseries/hotplug-cpu: wait indefinitely for vCPU death Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 132/148] bonding: fix active-backup failover for current ARP slave Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 133/148] net: ena: Prevent reset after device destruction Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 134/148] net: ena: Change WARN_ON expression in ena_del_napi_in_range() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 135/148] net: gemini: Fix missing free_netdev() in error path of gemini_ethernet_port_probe() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 136/148] selftests/bpf: Remove test_align leftovers Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 137/148] hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 138/148] net: dsa: b53: check for timeout Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 139/148] epoll: Keep a reference on files added to the check list Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 140/148] powerpc: Fix P10 PVR revision in /proc/cpuinfo for SMT4 cores Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 141/148] powerpc/pseries: Do not initiate shutdown when system is running on UPS Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 142/148] EDAC/{i7core,sb,pnd2,skx}: Fix error event severity Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 143/148] efi/x86: Mark kernel rodata non-executable for mixed mode Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 144/148] efi: add missed destroy_workqueue when efisubsys_init fails Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 145/148] efi/libstub: Stop parsing arguments at "--" Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 146/148] efi/libstub: Handle NULL cmdline Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 147/148] efi/libstub: Handle unterminated cmdline Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.8 148/148] do_epoll_ctl(): clean the failure exits up a bit Greg Kroah-Hartman
2020-08-24 13:40 ` [PATCH 5.8 000/148] 5.8.4-rc1 review Guenter Roeck
2020-08-24 15:25   ` Sasha Levin
2020-08-24 16:54 ` Naresh Kamboju

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=20200824082418.965556568@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alex.williamson@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=zhguo@redhat.com \
    /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).