public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Mikel Rychliski <mikel@mikelr.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>,
	dri-devel@lists.freedesktop.org, linux-pci@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 132/206] PCI: Use ioremap(), not phys_to_virt() for platform ROM
Date: Thu, 17 Sep 2020 22:06:48 -0400	[thread overview]
Message-ID: <20200918020802.2065198-132-sashal@kernel.org> (raw)
In-Reply-To: <20200918020802.2065198-1-sashal@kernel.org>

From: Mikel Rychliski <mikel@mikelr.com>

[ Upstream commit 72e0ef0e5f067fd991f702f0b2635d911d0cf208 ]

On some EFI systems, the video BIOS is provided by the EFI firmware.  The
boot stub code stores the physical address of the ROM image in pdev->rom.
Currently we attempt to access this pointer using phys_to_virt(), which
doesn't work with CONFIG_HIGHMEM.

On these systems, attempting to load the radeon module on a x86_32 kernel
can result in the following:

  BUG: unable to handle page fault for address: 3e8ed03c
  #PF: supervisor read access in kernel mode
  #PF: error_code(0x0000) - not-present page
  *pde = 00000000
  Oops: 0000 [#1] PREEMPT SMP
  CPU: 0 PID: 317 Comm: systemd-udevd Not tainted 5.6.0-rc3-next-20200228 #2
  Hardware name: Apple Computer, Inc. MacPro1,1/Mac-F4208DC8, BIOS     MP11.88Z.005C.B08.0707021221 07/02/07
  EIP: radeon_get_bios+0x5ed/0xe50 [radeon]
  Code: 00 00 84 c0 0f 85 12 fd ff ff c7 87 64 01 00 00 00 00 00 00 8b 47 08 8b 55 b0 e8 1e 83 e1 d6 85 c0 74 1a 8b 55 c0 85 d2 74 13 <80> 38 55 75 0e 80 78 01 aa 0f 84 a4 03 00 00 8d 74 26 00 68 dc 06
  EAX: 3e8ed03c EBX: 00000000 ECX: 3e8ed03c EDX: 00010000
  ESI: 00040000 EDI: eec04000 EBP: eef3fc60 ESP: eef3fbe0
  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010206
  CR0: 80050033 CR2: 3e8ed03c CR3: 2ec77000 CR4: 000006d0
  Call Trace:
   r520_init+0x26/0x240 [radeon]
   radeon_device_init+0x533/0xa50 [radeon]
   radeon_driver_load_kms+0x80/0x220 [radeon]
   drm_dev_register+0xa7/0x180 [drm]
   radeon_pci_probe+0x10f/0x1a0 [radeon]
   pci_device_probe+0xd4/0x140

Fix the issue by updating all drivers which can access a platform provided
ROM. Instead of calling the helper function pci_platform_rom() which uses
phys_to_virt(), call ioremap() directly on the pdev->rom.

radeon_read_platform_bios() previously directly accessed an __iomem
pointer. Avoid this by calling memcpy_fromio() instead of kmemdup().

pci_platform_rom() now has no remaining callers, so remove it.

Link: https://lore.kernel.org/r/20200319021623.5426-1-mikel@mikelr.com
Signed-off-by: Mikel Rychliski <mikel@mikelr.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c      | 31 +++++++++++--------
 .../drm/nouveau/nvkm/subdev/bios/shadowpci.c  | 17 ++++++++--
 drivers/gpu/drm/radeon/radeon_bios.c          | 30 +++++++++++-------
 drivers/pci/rom.c                             | 17 ----------
 include/linux/pci.h                           |  1 -
 5 files changed, 52 insertions(+), 44 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
index a5df80d50d447..6cf3dd5edffda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
@@ -191,30 +191,35 @@ static bool amdgpu_read_bios_from_rom(struct amdgpu_device *adev)
 
 static bool amdgpu_read_platform_bios(struct amdgpu_device *adev)
 {
-	uint8_t __iomem *bios;
-	size_t size;
+	phys_addr_t rom = adev->pdev->rom;
+	size_t romlen = adev->pdev->romlen;
+	void __iomem *bios;
 
 	adev->bios = NULL;
 
-	bios = pci_platform_rom(adev->pdev, &size);
-	if (!bios) {
+	if (!rom || romlen == 0)
 		return false;
-	}
 
-	adev->bios = kzalloc(size, GFP_KERNEL);
-	if (adev->bios == NULL)
+	adev->bios = kzalloc(romlen, GFP_KERNEL);
+	if (!adev->bios)
 		return false;
 
-	memcpy_fromio(adev->bios, bios, size);
+	bios = ioremap(rom, romlen);
+	if (!bios)
+		goto free_bios;
 
-	if (!check_atom_bios(adev->bios, size)) {
-		kfree(adev->bios);
-		return false;
-	}
+	memcpy_fromio(adev->bios, bios, romlen);
+	iounmap(bios);
 
-	adev->bios_size = size;
+	if (!check_atom_bios(adev->bios, romlen))
+		goto free_bios;
+
+	adev->bios_size = romlen;
 
 	return true;
+free_bios:
+	kfree(adev->bios);
+	return false;
 }
 
 #ifdef CONFIG_ACPI
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
index 9b91da09dc5f8..8d9812a51ef63 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
@@ -101,9 +101,13 @@ platform_init(struct nvkm_bios *bios, const char *name)
 	else
 		return ERR_PTR(-ENODEV);
 
+	if (!pdev->rom || pdev->romlen == 0)
+		return ERR_PTR(-ENODEV);
+
 	if ((priv = kmalloc(sizeof(*priv), GFP_KERNEL))) {
+		priv->size = pdev->romlen;
 		if (ret = -ENODEV,
-		    (priv->rom = pci_platform_rom(pdev, &priv->size)))
+		    (priv->rom = ioremap(pdev->rom, pdev->romlen)))
 			return priv;
 		kfree(priv);
 	}
@@ -111,11 +115,20 @@ platform_init(struct nvkm_bios *bios, const char *name)
 	return ERR_PTR(ret);
 }
 
+static void
+platform_fini(void *data)
+{
+	struct priv *priv = data;
+
+	iounmap(priv->rom);
+	kfree(priv);
+}
+
 const struct nvbios_source
 nvbios_platform = {
 	.name = "PLATFORM",
 	.init = platform_init,
-	.fini = (void(*)(void *))kfree,
+	.fini = platform_fini,
 	.read = pcirom_read,
 	.rw = true,
 };
diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c
index 04c0ed41374f1..dd0528cf98183 100644
--- a/drivers/gpu/drm/radeon/radeon_bios.c
+++ b/drivers/gpu/drm/radeon/radeon_bios.c
@@ -104,25 +104,33 @@ static bool radeon_read_bios(struct radeon_device *rdev)
 
 static bool radeon_read_platform_bios(struct radeon_device *rdev)
 {
-	uint8_t __iomem *bios;
-	size_t size;
+	phys_addr_t rom = rdev->pdev->rom;
+	size_t romlen = rdev->pdev->romlen;
+	void __iomem *bios;
 
 	rdev->bios = NULL;
 
-	bios = pci_platform_rom(rdev->pdev, &size);
-	if (!bios) {
+	if (!rom || romlen == 0)
 		return false;
-	}
 
-	if (size == 0 || bios[0] != 0x55 || bios[1] != 0xaa) {
+	rdev->bios = kzalloc(romlen, GFP_KERNEL);
+	if (!rdev->bios)
 		return false;
-	}
-	rdev->bios = kmemdup(bios, size, GFP_KERNEL);
-	if (rdev->bios == NULL) {
-		return false;
-	}
+
+	bios = ioremap(rom, romlen);
+	if (!bios)
+		goto free_bios;
+
+	memcpy_fromio(rdev->bios, bios, romlen);
+	iounmap(bios);
+
+	if (rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa)
+		goto free_bios;
 
 	return true;
+free_bios:
+	kfree(rdev->bios);
+	return false;
 }
 
 #ifdef CONFIG_ACPI
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c
index 137bf0cee897c..8fc9a4e911e3a 100644
--- a/drivers/pci/rom.c
+++ b/drivers/pci/rom.c
@@ -195,20 +195,3 @@ void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom)
 		pci_disable_rom(pdev);
 }
 EXPORT_SYMBOL(pci_unmap_rom);
-
-/**
- * pci_platform_rom - provides a pointer to any ROM image provided by the
- * platform
- * @pdev: pointer to pci device struct
- * @size: pointer to receive size of pci window over ROM
- */
-void __iomem *pci_platform_rom(struct pci_dev *pdev, size_t *size)
-{
-	if (pdev->rom && pdev->romlen) {
-		*size = pdev->romlen;
-		return phys_to_virt((phys_addr_t)pdev->rom);
-	}
-
-	return NULL;
-}
-EXPORT_SYMBOL(pci_platform_rom);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 2517492dd1855..2fda9893962d1 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1144,7 +1144,6 @@ int pci_enable_rom(struct pci_dev *pdev);
 void pci_disable_rom(struct pci_dev *pdev);
 void __iomem __must_check *pci_map_rom(struct pci_dev *pdev, size_t *size);
 void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom);
-void __iomem __must_check *pci_platform_rom(struct pci_dev *pdev, size_t *size);
 
 /* Power management related routines */
 int pci_save_state(struct pci_dev *dev);
-- 
2.25.1


  parent reply	other threads:[~2020-09-18  2:43 UTC|newest]

Thread overview: 209+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18  2:04 [PATCH AUTOSEL 4.19 001/206] selinux: allow labeling before policy is loaded Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 002/206] media: mc-device.c: fix memleak in media_device_register_entity Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 003/206] dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling) Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 004/206] ath10k: fix array out-of-bounds access Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 005/206] ath10k: fix memory leak for tpc_stats_final Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 006/206] mm: fix double page fault on arm64 if PTE_AF is cleared Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 007/206] scsi: aacraid: fix illegal IO beyond last LBA Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 008/206] m68k: q40: Fix info-leak in rtc_ioctl Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 009/206] gma/gma500: fix a memory disclosure bug due to uninitialized bytes Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 010/206] ASoC: kirkwood: fix IRQ error handling Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 011/206] media: smiapp: Fix error handling at NVM reading Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 012/206] ata: sata_mv, avoid trigerrable BUG_ON Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 013/206] leds: mlxreg: Fix possible buffer overflow Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 014/206] PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 015/206] scsi: fnic: fix use after free Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 016/206] scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 017/206] net: silence data-races on sk_backlog.tail Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 018/206] clk/ti/adpll: allocate room for terminating null Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 019/206] drm/amdgpu/powerplay: fix AVFS handling with custom powerplay table Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 020/206] mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup() Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 021/206] mfd: mfd-core: Protect against NULL call-back function pointer Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 022/206] drm/amdgpu/powerplay/smu7: fix AVFS handling with custom powerplay table Sasha Levin
2020-09-18  2:04 ` [PATCH AUTOSEL 4.19 023/206] USB: serial: mos7840: fix probe error handling Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 024/206] tpm_crb: fix fTPM on AMD Zen+ CPUs Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 025/206] tracing: Adding NULL checks for trace_array descriptor pointer Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 026/206] bcache: fix a lost wake-up problem caused by mca_cannibalize_lock Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 027/206] dmaengine: mediatek: hsdma_probe: fixed a memory leak when devm_request_irq fails Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 028/206] RDMA/qedr: Fix potential use after free Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 029/206] RDMA/i40iw: " Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 030/206] fix dget_parent() fastpath race Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 031/206] xfs: fix attr leaf header freemap.size underflow Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 032/206] RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 033/206] ubi: Fix producing anchor PEBs Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 034/206] mmc: core: Fix size overflow for mmc partitions Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 035/206] gfs2: clean up iopen glock mess in gfs2_create_inode Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 036/206] scsi: pm80xx: Cleanup command when a reset times out Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 037/206] debugfs: Fix !DEBUG_FS debugfs_create_automount Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 038/206] CIFS: Properly process SMB3 lease breaks Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 039/206] ASoC: max98090: remove msleep in PLL unlocked workaround Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 040/206] kernel/sys.c: avoid copying possible padding bytes in copy_to_user Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 041/206] KVM: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy() Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 042/206] xfs: fix log reservation overflows when allocating large rt extents Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 043/206] neigh_stat_seq_next() should increase position index Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 044/206] rt_cpu_seq_next " Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 045/206] ipv6_route_seq_next " Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 046/206] seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 047/206] media: ti-vpe: cal: Restrict DMA to avoid memory corruption Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 048/206] sctp: move trace_sctp_probe_path into sctp_outq_sack Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 049/206] ACPI: EC: Reference count query handlers under lock Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 050/206] scsi: ufs: Make ufshcd_add_command_trace() easier to read Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 051/206] scsi: ufs: Fix a race condition in the tracing code Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 052/206] efi/arm: Defer probe of PCIe backed efifb on DT systems Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 053/206] dmaengine: zynqmp_dma: fix burst length configuration Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 054/206] s390/cpum_sf: Use kzalloc and minor changes Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 055/206] powerpc/powernv/ioda: Fix ref count for devices with their own PE Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 056/206] powerpc/eeh: Only dump stack once if an MMIO loop is detected Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 057/206] Bluetooth: btrtl: Use kvmalloc for FW allocations Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 058/206] tracing: Set kernel_stack's caller size properly Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 059/206] ext4: make dioread_nolock the default Sasha Levin
2020-09-18  2:58   ` Eric Biggers
2020-09-18 17:18     ` Theodore Y. Ts'o
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 060/206] ARM: 8948/1: Prevent OOB access in stacktrace Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 061/206] ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 062/206] ceph: ensure we have a new cap before continuing in fill_inode Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 063/206] selftests/ftrace: fix glob selftest Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 064/206] tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 065/206] Bluetooth: Fix refcount use-after-free issue Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 066/206] mm/swapfile.c: swap_next should increase position index Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 067/206] mm: pagewalk: fix termination condition in walk_pte_range() Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 068/206] Bluetooth: prefetch channel before killing sock Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 069/206] KVM: fix overflow of zero page refcount with ksm running Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 070/206] ALSA: hda: Clear RIRB status before reading WP Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 071/206] skbuff: fix a data race in skb_queue_len() Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 072/206] audit: CONFIG_CHANGE don't log internal bookkeeping as an event Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 073/206] selinux: sel_avc_get_stat_idx should increase position index Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 074/206] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 075/206] scsi: lpfc: Fix coverity errors in fmdi attribute handling Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 076/206] drm/omap: fix possible object reference leak Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 077/206] clk: stratix10: use do_div() for 64-bit calculation Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 078/206] crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 079/206] mt76: clear skb pointers from rx aggregation reorder buffer during cleanup Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 080/206] ALSA: usb-audio: Don't create a mixer element with bogus volume range Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 081/206] perf test: Fix test trace+probe_vfs_getname.sh on s390 Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 082/206] RDMA/rxe: Fix configuration of atomic queue pair attributes Sasha Levin
2020-09-18  2:05 ` [PATCH AUTOSEL 4.19 083/206] KVM: x86: fix incorrect comparison in trace event Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 084/206] dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 085/206] media: staging/imx: Missing assignment in imx_media_capture_device_register() Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 086/206] x86/pkeys: Add check for pkey "overflow" Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 087/206] bpf: Remove recursion prevention from rcu free callback Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 088/206] dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 089/206] dmaengine: tegra-apb: Prevent race conditions on channel's freeing Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 090/206] drm/amd/display: dal_ddc_i2c_payloads_create can fail causing panic Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 091/206] firmware: arm_sdei: Use cpus_read_lock() to avoid races with cpuhp Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 092/206] random: fix data races at timer_rand_state Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 093/206] bus: hisi_lpc: Fixup IO ports addresses to avoid use-after-free in host removal Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 094/206] media: go7007: Fix URB type for interrupt handling Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 095/206] Bluetooth: guard against controllers sending zero'd events Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 096/206] timekeeping: Prevent 32bit truncation in scale64_check_overflow() Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 097/206] ext4: fix a data race at inode->i_disksize Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 098/206] perf jevents: Fix leak of mapfile memory Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 099/206] mm: avoid data corruption on CoW fault into PFN-mapped VMA Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 100/206] drm/amdgpu: increase atombios cmd timeout Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 101/206] drm/amd/display: Stop if retimer is not available Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 102/206] ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 103/206] scsi: aacraid: Disabling TM path and only processing IOP reset Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 104/206] Bluetooth: L2CAP: handle l2cap config request during open state Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 105/206] media: tda10071: fix unsigned sign extension overflow Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 106/206] xfs: don't ever return a stale pointer from __xfs_dir3_free_read Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 107/206] xfs: mark dir corrupt when lookup-by-hash fails Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 108/206] ext4: mark block bitmap corrupted when found instead of BUGON Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 109/206] tpm: ibmvtpm: Wait for buffer to be set before proceeding Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 110/206] rtc: sa1100: fix possible race condition Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 111/206] rtc: ds1374: " Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 112/206] nfsd: Don't add locks to closed or closing open stateids Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 113/206] RDMA/cm: Remove a race freeing timewait_info Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 114/206] KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 115/206] drm/msm: fix leaks if initialization fails Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 116/206] drm/msm/a5xx: Always set an OPP supported hardware value Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 117/206] tracing: Use address-of operator on section symbols Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 118/206] thermal: rcar_thermal: Handle probe error gracefully Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 119/206] perf parse-events: Fix 3 use after frees found with clang ASAN Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 120/206] serial: 8250_port: Don't service RX FIFO if throttled Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 121/206] serial: 8250_omap: Fix sleeping function called from invalid context during probe Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 122/206] serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 123/206] perf cpumap: Fix snprintf overflow check Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 124/206] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 125/206] tools: gpio-hammer: Avoid potential overflow in main Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 126/206] nvme-multipath: do not reset on unknown status Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 127/206] nvme: Fix controller creation races with teardown flow Sasha Levin
2020-09-18 18:46   ` Sagi Grimberg
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 128/206] RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 129/206] scsi: hpsa: correct race condition in offload enabled Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 130/206] SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()' Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 131/206] svcrdma: Fix leak of transport addresses Sasha Levin
2020-09-18  2:06 ` Sasha Levin [this message]
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 133/206] ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 134/206] ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 135/206] PCI: pciehp: Fix MSI interrupt race Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 136/206] NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 137/206] mm/kmemleak.c: use address-of operator on section symbols Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 138/206] mm/filemap.c: clear page error before actual read Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 139/206] mm/vmscan.c: fix data races using kswapd_classzone_idx Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 140/206] nvmet-rdma: fix double free of rdma queue Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 141/206] mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 142/206] scsi: qedi: Fix termination timeouts in session logout Sasha Levin
2020-09-18  2:06 ` [PATCH AUTOSEL 4.19 143/206] serial: uartps: Wait for tx_empty in console setup Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 144/206] KVM: Remove CREATE_IRQCHIP/SET_PIT2 race Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 145/206] perf stat: Force error in fallback on :k events Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 146/206] bdev: Reduce time holding bd_mutex in sync in blkdev_close() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 147/206] drivers: char: tlclk.c: Avoid data race between init and interrupt handler Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 148/206] KVM: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 149/206] net: openvswitch: use u64 for meter bucket Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 150/206] scsi: aacraid: Fix error handling paths in aac_probe_one() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 151/206] staging:r8188eu: avoid skb_clone for amsdu to msdu conversion Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 152/206] sparc64: vcc: Fix error return code in vcc_probe() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 153/206] arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 154/206] dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 155/206] atm: fix a memory leak of vcc->user_back Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 156/206] perf parse-events: Fix memory leaks found on parse_events Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 157/206] perf mem2node: Avoid double free related to realloc Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 158/206] power: supply: max17040: Correct voltage reading Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 159/206] phy: samsung: s5pv210-usb2: Add delay after reset Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 160/206] Bluetooth: Handle Inquiry Cancel error after Inquiry Complete Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 161/206] USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 162/206] tipc: fix memory leak in service subscripting Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 163/206] tty: serial: samsung: Correct clock selection logic Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 164/206] ALSA: hda: Fix potential race in unsol event handler Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 165/206] powerpc/traps: Make unrecoverable NMIs die instead of panic Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 166/206] fuse: don't check refcount after stealing page Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 167/206] USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 168/206] scsi: cxlflash: Fix error return code in cxlflash_probe() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 169/206] arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 170/206] e1000: Do not perform reset in reset_task if we are already down Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 171/206] drm/nouveau/debugfs: fix runtime pm imbalance on error Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 172/206] drm/nouveau: " Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 173/206] drm/nouveau/dispnv50: " Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 174/206] printk: handle blank console arguments passed in Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 175/206] usb: dwc3: Increase timeout for CmdAct cleared by device controller Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 176/206] btrfs: don't force read-only after error in drop snapshot Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 177/206] vfio/pci: fix memory leaks of eventfd ctx Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 178/206] perf parse-events: Fix incorrect conversion of 'if () free()' to 'zfree()' Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 179/206] perf evsel: Fix 2 memory leaks Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 180/206] perf trace: Fix the selection for architectures to generate the errno name tables Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 181/206] perf stat: Fix duration_time value for higher intervals Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 182/206] perf util: Fix memory leak of prefix_if_not_in Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 183/206] perf metricgroup: Free metric_events on error Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 184/206] perf kcore_copy: Fix module map when there are no modules loaded Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 185/206] ASoC: img-i2s-out: Fix runtime PM imbalance on error Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 186/206] wlcore: fix runtime pm imbalance in wl1271_tx_work Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 187/206] wlcore: fix runtime pm imbalance in wlcore_regdomain_config Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 188/206] mtd: rawnand: omap_elm: Fix runtime PM imbalance on error Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 189/206] PCI: tegra: " Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 190/206] ceph: fix potential race in ceph_check_caps Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 191/206] mm/swap_state: fix a data race in swapin_nr_pages Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 192/206] rapidio: avoid data race between file operation callbacks and mport_cdev_add() Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 193/206] mtd: parser: cmdline: Support MTD names containing one or more colons Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 194/206] x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 195/206] vfio/pci: Clear error and request eventfd ctx after releasing Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 196/206] cifs: Fix double add page to memcg when cifs_readpages Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 197/206] nvme: fix possible deadlock when I/O is blocked Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 198/206] scsi: libfc: Handling of extra kref Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 199/206] scsi: libfc: Skip additional kref updating work event Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 200/206] selftests/x86/syscall_nt: Clear weird flags after each test Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 201/206] vfio/pci: fix racy on error and request eventfd ctx Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 202/206] btrfs: qgroup: fix data leak caused by race between writeback and truncate Sasha Levin
2020-09-18  2:07 ` [PATCH AUTOSEL 4.19 203/206] ubi: fastmap: Free unused fastmap anchor peb during detach Sasha Levin
2020-09-18  2:08 ` [PATCH AUTOSEL 4.19 204/206] perf parse-events: Use strcmp() to compare the PMU name Sasha Levin
2020-09-18  2:08 ` [PATCH AUTOSEL 4.19 205/206] net: openvswitch: use div_u64() for 64-by-32 divisions Sasha Levin
2020-09-18  2:08 ` [PATCH AUTOSEL 4.19 206/206] nvme: explicitly update mpath disk capacity on revalidation Sasha Levin

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=20200918020802.2065198-132-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=alexander.deucher@amd.com \
    --cc=bhelgaas@google.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mikel@mikelr.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox