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
next prev parent reply other threads:[~2020-09-08 17:11 UTC|newest]
Thread overview: 198+ 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 ` [PATCH 5.8 093/186] perf intel-pt: " 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 ` [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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome