All of lore.kernel.org
 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,
	Naresh Kamboju <naresh.kamboju@linaro.org>,
	Joerg Roedel <jroedel@suse.de>, Ingo Molnar <mingo@kernel.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.8 133/186] x86/mm/32: Bring back vmalloc faulting on x86_32
Date: Tue,  8 Sep 2020 17:24:35 +0200	[thread overview]
Message-ID: <20200908152248.092817366@linuxfoundation.org> (raw)
In-Reply-To: <20200908152241.646390211@linuxfoundation.org>

[ Upstream commit 4819e15f740ec884a50bdc431d7f1e7638b6f7d9 ]

One can not simply remove vmalloc faulting on x86-32. Upstream

	commit: 7f0a002b5a21 ("x86/mm: remove vmalloc faulting")

removed it on x86 alltogether because previously the
arch_sync_kernel_mappings() interface was introduced. This interface
added synchronization of vmalloc/ioremap page-table updates to all
page-tables in the system at creation time and was thought to make
vmalloc faulting obsolete.

But that assumption was incredibly naive.

It turned out that there is a race window between the time the vmalloc
or ioremap code establishes a mapping and the time it synchronizes
this change to other page-tables in the system.

During this race window another CPU or thread can establish a vmalloc
mapping which uses the same intermediate page-table entries (e.g. PMD
or PUD) and does no synchronization in the end, because it found all
necessary mappings already present in the kernel reference page-table.

But when these intermediate page-table entries are not yet
synchronized, the other CPU or thread will continue with a vmalloc
address that is not yet mapped in the page-table it currently uses,
causing an unhandled page fault and oops like below:

	BUG: unable to handle page fault for address: fe80c000
	#PF: supervisor write access in kernel mode
	#PF: error_code(0x0002) - not-present page
	*pde = 33183067 *pte = a8648163
	Oops: 0002 [#1] SMP
	CPU: 1 PID: 13514 Comm: cve-2017-17053 Tainted: G
	...
	Call Trace:
	 ldt_dup_context+0x66/0x80
	 dup_mm+0x2b3/0x480
	 copy_process+0x133b/0x15c0
	 _do_fork+0x94/0x3e0
	 __ia32_sys_clone+0x67/0x80
	 __do_fast_syscall_32+0x3f/0x70
	 do_fast_syscall_32+0x29/0x60
	 do_SYSENTER_32+0x15/0x20
	 entry_SYSENTER_32+0x9f/0xf2
	EIP: 0xb7eef549

So the arch_sync_kernel_mappings() interface is racy, but removing it
would mean to re-introduce the vmalloc_sync_all() interface, which is
even more awful. Keep arch_sync_kernel_mappings() in place and catch
the race condition in the page-fault handler instead.

Do a partial revert of above commit to get vmalloc faulting on x86-32
back in place.

Fixes: 7f0a002b5a21 ("x86/mm: remove vmalloc faulting")
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200902155904.17544-1-joro@8bytes.org
[sl: revert 7f0a002b5a21 instead to restore vmalloc faulting for x86-64]
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/include/asm/switch_to.h |  23 ++++++
 arch/x86/kernel/setup_percpu.c   |   6 +-
 arch/x86/mm/fault.c              | 134 +++++++++++++++++++++++++++++++
 arch/x86/mm/pti.c                |   8 +-
 arch/x86/mm/tlb.c                |  37 +++++++++
 5 files changed, 204 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h
index 9f69cc497f4b6..0e059b73437b4 100644
--- a/arch/x86/include/asm/switch_to.h
+++ b/arch/x86/include/asm/switch_to.h
@@ -12,6 +12,27 @@ struct task_struct *__switch_to_asm(struct task_struct *prev,
 __visible struct task_struct *__switch_to(struct task_struct *prev,
 					  struct task_struct *next);
 
+/* This runs runs on the previous thread's stack. */
+static inline void prepare_switch_to(struct task_struct *next)
+{
+#ifdef CONFIG_VMAP_STACK
+	/*
+	 * If we switch to a stack that has a top-level paging entry
+	 * that is not present in the current mm, the resulting #PF will
+	 * will be promoted to a double-fault and we'll panic.  Probe
+	 * the new stack now so that vmalloc_fault can fix up the page
+	 * tables if needed.  This can only happen if we use a stack
+	 * in vmap space.
+	 *
+	 * We assume that the stack is aligned so that it never spans
+	 * more than one top-level paging entry.
+	 *
+	 * To minimize cache pollution, just follow the stack pointer.
+	 */
+	READ_ONCE(*(unsigned char *)next->thread.sp);
+#endif
+}
+
 asmlinkage void ret_from_fork(void);
 
 /*
@@ -46,6 +67,8 @@ struct fork_frame {
 
 #define switch_to(prev, next, last)					\
 do {									\
+	prepare_switch_to(next);					\
+									\
 	((last) = __switch_to_asm((prev), (next)));			\
 } while (0)
 
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
index fd945ce78554e..e6d7894ad1279 100644
--- a/arch/x86/kernel/setup_percpu.c
+++ b/arch/x86/kernel/setup_percpu.c
@@ -287,9 +287,9 @@ void __init setup_per_cpu_areas(void)
 	/*
 	 * Sync back kernel address range again.  We already did this in
 	 * setup_arch(), but percpu data also needs to be available in
-	 * the smpboot asm and arch_sync_kernel_mappings() doesn't sync to
-	 * swapper_pg_dir on 32-bit. The per-cpu mappings need to be available
-	 * there too.
+	 * the smpboot asm.  We can't reliably pick up percpu mappings
+	 * using vmalloc_fault(), because exception dispatch needs
+	 * percpu data.
 	 *
 	 * FIXME: Can the later sync in setup_cpu_entry_areas() replace
 	 * this call?
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 1ead568c01012..370c314b8f44d 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -215,6 +215,44 @@ void arch_sync_kernel_mappings(unsigned long start, unsigned long end)
 	}
 }
 
+/*
+ * 32-bit:
+ *
+ *   Handle a fault on the vmalloc or module mapping area
+ */
+static noinline int vmalloc_fault(unsigned long address)
+{
+	unsigned long pgd_paddr;
+	pmd_t *pmd_k;
+	pte_t *pte_k;
+
+	/* Make sure we are in vmalloc area: */
+	if (!(address >= VMALLOC_START && address < VMALLOC_END))
+		return -1;
+
+	/*
+	 * Synchronize this task's top level page-table
+	 * with the 'reference' page table.
+	 *
+	 * Do _not_ use "current" here. We might be inside
+	 * an interrupt in the middle of a task switch..
+	 */
+	pgd_paddr = read_cr3_pa();
+	pmd_k = vmalloc_sync_one(__va(pgd_paddr), address);
+	if (!pmd_k)
+		return -1;
+
+	if (pmd_large(*pmd_k))
+		return 0;
+
+	pte_k = pte_offset_kernel(pmd_k, address);
+	if (!pte_present(*pte_k))
+		return -1;
+
+	return 0;
+}
+NOKPROBE_SYMBOL(vmalloc_fault);
+
 /*
  * Did it hit the DOS screen memory VA from vm86 mode?
  */
@@ -279,6 +317,79 @@ static void dump_pagetable(unsigned long address)
 
 #else /* CONFIG_X86_64: */
 
+/*
+ * 64-bit:
+ *
+ *   Handle a fault on the vmalloc area
+ */
+static noinline int vmalloc_fault(unsigned long address)
+{
+	pgd_t *pgd, *pgd_k;
+	p4d_t *p4d, *p4d_k;
+	pud_t *pud;
+	pmd_t *pmd;
+	pte_t *pte;
+
+	/* Make sure we are in vmalloc area: */
+	if (!(address >= VMALLOC_START && address < VMALLOC_END))
+		return -1;
+
+	/*
+	 * Copy kernel mappings over when needed. This can also
+	 * happen within a race in page table update. In the later
+	 * case just flush:
+	 */
+	pgd = (pgd_t *)__va(read_cr3_pa()) + pgd_index(address);
+	pgd_k = pgd_offset_k(address);
+	if (pgd_none(*pgd_k))
+		return -1;
+
+	if (pgtable_l5_enabled()) {
+		if (pgd_none(*pgd)) {
+			set_pgd(pgd, *pgd_k);
+			arch_flush_lazy_mmu_mode();
+		} else {
+			BUG_ON(pgd_page_vaddr(*pgd) != pgd_page_vaddr(*pgd_k));
+		}
+	}
+
+	/* With 4-level paging, copying happens on the p4d level. */
+	p4d = p4d_offset(pgd, address);
+	p4d_k = p4d_offset(pgd_k, address);
+	if (p4d_none(*p4d_k))
+		return -1;
+
+	if (p4d_none(*p4d) && !pgtable_l5_enabled()) {
+		set_p4d(p4d, *p4d_k);
+		arch_flush_lazy_mmu_mode();
+	} else {
+		BUG_ON(p4d_pfn(*p4d) != p4d_pfn(*p4d_k));
+	}
+
+	BUILD_BUG_ON(CONFIG_PGTABLE_LEVELS < 4);
+
+	pud = pud_offset(p4d, address);
+	if (pud_none(*pud))
+		return -1;
+
+	if (pud_large(*pud))
+		return 0;
+
+	pmd = pmd_offset(pud, address);
+	if (pmd_none(*pmd))
+		return -1;
+
+	if (pmd_large(*pmd))
+		return 0;
+
+	pte = pte_offset_kernel(pmd, address);
+	if (!pte_present(*pte))
+		return -1;
+
+	return 0;
+}
+NOKPROBE_SYMBOL(vmalloc_fault);
+
 #ifdef CONFIG_CPU_SUP_AMD
 static const char errata93_warning[] =
 KERN_ERR 
@@ -1111,6 +1222,29 @@ do_kern_addr_fault(struct pt_regs *regs, unsigned long hw_error_code,
 	 */
 	WARN_ON_ONCE(hw_error_code & X86_PF_PK);
 
+	/*
+	 * We can fault-in kernel-space virtual memory on-demand. The
+	 * 'reference' page table is init_mm.pgd.
+	 *
+	 * NOTE! We MUST NOT take any locks for this case. We may
+	 * be in an interrupt or a critical region, and should
+	 * only copy the information from the master page table,
+	 * nothing more.
+	 *
+	 * Before doing this on-demand faulting, ensure that the
+	 * fault is not any of the following:
+	 * 1. A fault on a PTE with a reserved bit set.
+	 * 2. A fault caused by a user-mode access.  (Do not demand-
+	 *    fault kernel memory due to user-mode accesses).
+	 * 3. A fault caused by a page-level protection violation.
+	 *    (A demand fault would be on a non-present page which
+	 *     would have X86_PF_PROT==0).
+	 */
+	if (!(hw_error_code & (X86_PF_RSVD | X86_PF_USER | X86_PF_PROT))) {
+		if (vmalloc_fault(address) >= 0)
+			return;
+	}
+
 	/* Was the fault spurious, caused by lazy TLB invalidation? */
 	if (spurious_kernel_fault(hw_error_code, address))
 		return;
diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
index a8a924b3c3358..0b0d1cdce2e73 100644
--- a/arch/x86/mm/pti.c
+++ b/arch/x86/mm/pti.c
@@ -447,7 +447,13 @@ static void __init pti_clone_user_shared(void)
 		 * the sp1 and sp2 slots.
 		 *
 		 * This is done for all possible CPUs during boot to ensure
-		 * that it's propagated to all mms.
+		 * that it's propagated to all mms.  If we were to add one of
+		 * these mappings during CPU hotplug, we would need to take
+		 * some measure to make sure that every mm that subsequently
+		 * ran on that CPU would have the relevant PGD entry in its
+		 * pagetables.  The usual vmalloc_fault() mechanism would not
+		 * work for page faults taken in entry_SYSCALL_64 before RSP
+		 * is set up.
 		 */
 
 		unsigned long va = (unsigned long)&per_cpu(cpu_tss_rw, cpu);
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 1a3569b43aa5b..cf81902e6992f 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -317,6 +317,34 @@ void switch_mm(struct mm_struct *prev, struct mm_struct *next,
 	local_irq_restore(flags);
 }
 
+static void sync_current_stack_to_mm(struct mm_struct *mm)
+{
+	unsigned long sp = current_stack_pointer;
+	pgd_t *pgd = pgd_offset(mm, sp);
+
+	if (pgtable_l5_enabled()) {
+		if (unlikely(pgd_none(*pgd))) {
+			pgd_t *pgd_ref = pgd_offset_k(sp);
+
+			set_pgd(pgd, *pgd_ref);
+		}
+	} else {
+		/*
+		 * "pgd" is faked.  The top level entries are "p4d"s, so sync
+		 * the p4d.  This compiles to approximately the same code as
+		 * the 5-level case.
+		 */
+		p4d_t *p4d = p4d_offset(pgd, sp);
+
+		if (unlikely(p4d_none(*p4d))) {
+			pgd_t *pgd_ref = pgd_offset_k(sp);
+			p4d_t *p4d_ref = p4d_offset(pgd_ref, sp);
+
+			set_p4d(p4d, *p4d_ref);
+		}
+	}
+}
+
 static inline unsigned long mm_mangle_tif_spec_ib(struct task_struct *next)
 {
 	unsigned long next_tif = task_thread_info(next)->flags;
@@ -525,6 +553,15 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next,
 		 */
 		cond_ibpb(tsk);
 
+		if (IS_ENABLED(CONFIG_VMAP_STACK)) {
+			/*
+			 * If our current stack is in vmalloc space and isn't
+			 * mapped in the new pgd, we'll double-fault.  Forcibly
+			 * map it.
+			 */
+			sync_current_stack_to_mm(next);
+		}
+
 		/*
 		 * Stop remote flushes for the previous mm.
 		 * Skip kernel threads; we never send init_mm TLB flushing IPIs,
-- 
2.25.1




  parent reply	other threads:[~2020-09-08 17:11 UTC|newest]

Thread overview: 203+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-08 15:22 [PATCH 5.8 000/186] 5.8.8-rc1 review Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 001/186] hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228 Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 002/186] HID: quirks: Always poll three more Lenovo PixArt mice Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 003/186] drm/msm/dpu: Fix reservation failures in modeset Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 004/186] drm/msm/dpu: Fix scale params in plane validation Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 005/186] drm/msm/dpu: fix unitialized variable error Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 006/186] tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 007/186] drm/msm: add shutdown support for display platform_driver Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 008/186] hwmon: (applesmc) check status earlier Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 009/186] nvmet: Disable keep-alive timer when kato is cleared to 0h Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 010/186] drm/msm: enable vblank during atomic commits Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 011/186] habanalabs: unmap PCI bars upon iATU failure Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 012/186] habanalabs: validate packet id during CB parse Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 013/186] habanalabs: set clock gating according to mask Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 014/186] habanalabs: proper handling of alloc size in coresight Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 015/186] habanalabs: set max power according to card type Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 016/186] habanalabs: validate FW file size Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 017/186] habanalabs: check correct vmalloc return code Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 018/186] drm/msm/a6xx: fix gmu start on newer firmware Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 019/186] gfs2: add some much needed cleanup for log flushes that fail Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 020/186] hv_utils: return error if host timesysnc update is stale Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 021/186] hv_utils: drain the timesync packets on onchannelcallback Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 022/186] ceph: dont allow setlease on cephfs Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 023/186] i2c: iproc: Fix shifting 31 bits Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 024/186] drm/omap: fix incorrect lock state Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 025/186] irqchip/ingenic: Leave parent IRQ unmasked on suspend Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 026/186] cpuidle: Fixup IRQ state Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 027/186] nbd: restore default timeout when setting it to zero Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 028/186] s390: dont trace preemption in percpu macros Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 029/186] drm/amd/display: should check error using DC_OK Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 030/186] drm/amd/display: Reject overlay plane configurations in multi-display scenarios Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 031/186] drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in amdgpu_dm_update_backlight_caps Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 032/186] drm/amd/display: Revert HDCP disable sequence change Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 033/186] drm/amd/display: Fix passive dongle mistaken as active dongle in EDID emulation Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 034/186] drm/amd/display: Keep current gain when ABM disable immediately Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 035/186] drm/amd/display: Retry AUX write when fail occurs Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 036/186] drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init Greg Kroah-Hartman
2020-09-08 15:22 ` [PATCH 5.8 037/186] xen/xenbus: Fix granting of vmallocd memory Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 038/186] fsldma: fix very broken 32-bit ppc ioread64 functionality Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 039/186] dmaengine: of-dma: Fix of_dma_router_xlates of_dma_xlate handling Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 040/186] batman-adv: Avoid uninitialized chaddr when handling DHCP Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 041/186] batman-adv: Fix own OGM check in aggregated OGMs Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 042/186] batman-adv: bla: use netif_rx_ni when not in interrupt context Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 043/186] dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 044/186] dmaengine: at_hdmac: add missing put_device() call " Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 045/186] dmaengine: at_hdmac: add missing kfree() " Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 046/186] rxrpc: Keep the ACK serial in a var in rxrpc_input_ack() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 047/186] rxrpc: Fix loss of RTT samples due to interposed ACK Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 048/186] rxrpc: Make rxrpc_kernel_get_srtt() indicate validity Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 049/186] MIPS: mm: BMIPS5000 has inclusive physical caches Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 050/186] MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 051/186] mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040 Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 052/186] perf sched timehist: Fix use of CPU list with summary option Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 053/186] perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 054/186] netfilter: nf_tables: add NFTA_SET_USERDATA if not null Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 055/186] netfilter: nf_tables: incorrect enum nft_list_attributes definition Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 056/186] netfilter: nf_tables: fix destination register zeroing Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 057/186] net: hns: Fix memleak in hns_nic_dev_probe Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 058/186] net: systemport: Fix memleak in bcm_sysport_probe Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 059/186] ravb: Fixed to be able to unload modules Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 060/186] net: arc_emac: Fix memleak in arc_mdio_probe Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 061/186] bpf: Fix a buffer out-of-bound access when filling raw_tp link_info Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 062/186] dmaengine: pl330: Fix burst length if burst size is smaller than bus width Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 063/186] dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 064/186] gtp: add GTPA_LINK info to msg sent to userspace Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 065/186] net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 066/186] net: ethernet: ti: cpsw_new: " Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 067/186] bnxt_en: Dont query FW when netif_running() is false Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 068/186] bnxt_en: Check for zero dir entries in NVRAM Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 069/186] bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 070/186] bnxt_en: Fix PCI AER error recovery flow Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 071/186] bnxt_en: Fix possible crash in bnxt_fw_reset_task() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 072/186] bnxt_en: fix HWRM error when querying VF temperature Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 073/186] xfs: finish dfops on every insert range shift iteration Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 074/186] xfs: fix boundary test in xfs_attr_shortform_verify Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 075/186] bnxt: dont enable NAPI until rings are ready Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 076/186] media: vicodec: add missing v4l2_ctrl_request_hdl_put() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 077/186] media: cedrus: Add " Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 078/186] net: ethernet: ti: cpsw_new: fix error handling in cpsw_ndo_vlan_rx_kill_vid() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 079/186] media: i2c: imx214: select V4L2_FWNODE Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 080/186] selftests/bpf: Fix massive output from test_maps Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 081/186] net: dsa: mt7530: fix advertising unsupported 1000baseT_Half Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 082/186] netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 083/186] nvmet-fc: Fix a missed _irqsave version of spin_lock in nvmet_fc_fod_op_done() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 084/186] nvme: fix controller instance leak Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 085/186] netfilter: conntrack: do not auto-delete clash entries on reply Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 086/186] opp: Dont drop reference for an OPP table that was never parsed Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 087/186] cxgb4: fix thermal zone device registration Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 088/186] net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 089/186] MIPS: perf: Fix wrong check condition of Loongson event IDs Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 090/186] block: fix locking in bdev_del_partition Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 091/186] perf top/report: Fix infinite loop in the TUI for grouped events Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 092/186] perf cs-etm: Fix corrupt data after perf inject from Greg Kroah-Hartman
2020-09-08 15:23   ` Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 093/186] perf intel-pt: " Greg Kroah-Hartman
2020-09-08 15:23   ` Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 094/186] perf tools: Correct SNOOPX field offset Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 095/186] net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 096/186] fix regression in "epoll: Keep a reference on files added to the check list" Greg Kroah-Hartman
2020-09-08 15:23 ` [PATCH 5.8 097/186] net: bcmgenet: fix mask check in bcmgenet_validate_flow() Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 098/186] net: gemini: Fix another missing clk_disable_unprepare() in probe Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 099/186] nfp: flower: fix ABI mismatch between driver and firmware Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 100/186] net: dp83867: Fix WoL SecureOn password Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 101/186] drm/radeon: Prefer lower feedback dividers Greg Kroah-Hartman
2020-09-09 11:15   ` Christian König
2020-09-09 11:24     ` Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 102/186] MIPS: add missing MSACSR and upper MSA initialization Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 103/186] MIPS: SNI: Fix SCSI interrupt Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 104/186] xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 105/186] perf jevents: Fix suspicious code in fixregex() Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 106/186] perf stat: Turn off summary for interval mode by default Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 107/186] perf bench: The do_run_multi_threaded() function must use IS_ERR(perf_session__new()) Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 108/186] tg3: Fix soft lockup when tg3_reset_task() fails Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 109/186] x86, fakenuma: Fix invalid starting node ID Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 110/186] iommu/vt-d: Serialize IOMMU GCMD register modifications Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 111/186] thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 112/186] thermal: qcom-spmi-temp-alarm: Dont suppress negative temp Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 113/186] iommu/amd: Restore IRTE.RemapEn bit after programming IRTE Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 114/186] iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 115/186] net/packet: fix overflow in tpacket_rcv Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 116/186] include/linux/log2.h: add missing () around n in roundup_pow_of_two() Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 117/186] iommu/vt-d: Handle 36bit addressing for x86-32 Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 118/186] tracing/kprobes, x86/ptrace: Fix regs argument order for i386 Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 119/186] x86/entry: Fix AC assertion Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 120/186] x86/debug: Allow a single level of #DB recursion Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 121/186] ext2: dont update mtime on COW faults Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 122/186] xfs: " Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 123/186] ARC: perf: dont bail setup if pct irq missing in device-tree Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 124/186] arc: fix memory initialization for systems with two memory banks Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 125/186] btrfs: drop path before adding new uuid tree entry Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 126/186] btrfs: fix potential deadlock in the search ioctl Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 127/186] btrfs: allocate scrub workqueues outside of locks Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 128/186] btrfs: set the correct lockdep class for new nodes Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 129/186] btrfs: set the lockdep class for log tree extent buffers Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 130/186] btrfs: block-group: fix free-space bitmap threshold Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 131/186] btrfs: tree-checker: fix the error message for transid error Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 132/186] Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier Greg Kroah-Hartman
2020-09-08 15:24 ` Greg Kroah-Hartman [this message]
2020-09-08 15:24 ` [PATCH 5.8 134/186] Revert "ALSA: hda: Add support for Loongson 7A1000 controller" Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 135/186] ALSA: ca0106: fix error code handling Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 136/186] ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 137/186] ALSA: usb-audio: Add implicit feedback quirk for UR22C Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 138/186] ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 139/186] ALSA: hda/hdmi: always check pin power status in i915 pin fixup Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 140/186] ALSA: firewire-digi00x: exclude Avid Adrenaline from detection Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 141/186] ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 142/186] ALSA; firewire-tascam: exclude Tascam FE-8 from detection Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 143/186] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 144/186] ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 145/186] arm64: dts: mt7622: add reset node for mmc device Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 146/186] mmc: mediatek: add optional module reset property Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 147/186] mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 148/186] mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 149/186] media: rc: do not access device via sysfs after rc_unregister_device() Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 150/186] media: rc: uevent sysfs file races with rc_unregister_device() Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 151/186] affs: fix basic permission bits to actually work Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 152/186] block: allow for_each_bvec to support zero len bvec Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 153/186] block: ensure bdi->io_pages is always initialized Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 154/186] io_uring: set table->files[i] to NULL when io_sqe_file_register failed Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 155/186] io_uring: fix removing the wrong file in __io_sqe_files_update() Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 156/186] s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig Greg Kroah-Hartman
2020-09-08 15:24 ` [PATCH 5.8 157/186] libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 158/186] mips/oprofile: Fix fallthrough placement Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 159/186] blk-iocost: ioc_pd_free() shouldnt assume irq disabled Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 160/186] blk-stat: make q->stats->lock irqsafe Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 161/186] dmaengine: dw-edma: Fix scatter-gather address calculation Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 162/186] drm/i915: Fix sha_text population code Greg Kroah-Hartman
2020-09-08 15:25   ` [Intel-gfx] " Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 163/186] drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 164/186] drm/amdgpu: Specify get_argument function for ci_smu_funcs Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 165/186] dm writecache: handle DAX to partitions on persistent memory correctly Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 166/186] dm mpath: fix racey management of PG initialization Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 167/186] dm integrity: fix error reporting in bitmap mode after creation Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 168/186] dm crypt: Initialize crypto wait structures Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 169/186] dm cache metadata: Avoid returning cmd->bm wild pointer on error Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 170/186] dm thin " Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 171/186] dm thin metadata: Fix use-after-free in dm_bm_set_read_only Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 172/186] mm: slub: fix conversion of freelist_corrupted() Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 173/186] mm: track page table modifications in __apply_to_page_range() Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 174/186] mm: madvise: fix vma user-after-free Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 175/186] mm/rmap: fixup copying of soft dirty and uffd ptes Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 176/186] io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 177/186] perf record: Correct the help info of option "--no-bpf-event" Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 178/186] kconfig: streamline_config.pl: check defined(ENV variable) before using it Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 179/186] sdhci: tegra: Add missing TMCLK for data timeout Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 180/186] checkpatch: fix the usage of capture group ( ... ) Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 181/186] mm/migrate: fixup setting UFFD_WP flag Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 182/186] mm/hugetlb: try preferred node first when alloc gigantic page from cma Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 183/186] mm/hugetlb: fix a race between hugetlb sysctl handlers Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 184/186] mm/khugepaged.c: fix khugepageds request size in collapse_file Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 185/186] cfg80211: regulatory: reject invalid hints Greg Kroah-Hartman
2020-09-08 15:25 ` [PATCH 5.8 186/186] net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() Greg Kroah-Hartman
2020-09-09  1:39 ` [PATCH 5.8 000/186] 5.8.8-rc1 review Shuah Khan
2020-09-09 18:00   ` Greg Kroah-Hartman
2020-09-09  5:48 ` Naresh Kamboju
2020-09-09 18:00   ` Greg Kroah-Hartman
2020-09-09  7:03 ` Jon Hunter
2020-09-09 18:00   ` Greg Kroah-Hartman
2020-09-09 16:47 ` Guenter Roeck
2020-09-09 18:01   ` Greg Kroah-Hartman
2020-09-09 18:22     ` Guenter Roeck
2020-09-10  6:36       ` Geert Uytterhoeven
2020-09-10 13:47         ` Guenter Roeck

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=20200908152248.092817366@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=jroedel@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=naresh.kamboju@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.