mirror of https://lore.kernel.org/lkml/
 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, Will Deacon <will.deacon@arm.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	James Morse <james.morse@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>
Subject: [PATCH 4.15 039/202] [Variant 3/Meltdown] arm64: kpti: Fix the interaction between ASID switching and software PAN
Date: Thu, 15 Feb 2018 16:15:39 +0100	[thread overview]
Message-ID: <20180215151715.168926036@linuxfoundation.org> (raw)
In-Reply-To: <20180215151712.768794354@linuxfoundation.org>

4.15-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Catalin Marinas <catalin.marinas@arm.com>


Commit 6b88a32c7af6 upstream.

With ARM64_SW_TTBR0_PAN enabled, the exception entry code checks the
active ASID to decide whether user access was enabled (non-zero ASID)
when the exception was taken. On return from exception, if user access
was previously disabled, it re-instates TTBR0_EL1 from the per-thread
saved value (updated in switch_mm() or efi_set_pgd()).

Commit 7655abb95386 ("arm64: mm: Move ASID from TTBR0 to TTBR1") makes a
TTBR0_EL1 + ASID switching non-atomic. Subsequently, commit 27a921e75711
("arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN") changes the
__uaccess_ttbr0_disable() function and asm macro to first write the
reserved TTBR0_EL1 followed by the ASID=0 update in TTBR1_EL1. If an
exception occurs between these two, the exception return code will
re-instate a valid TTBR0_EL1. Similar scenario can happen in
cpu_switch_mm() between setting the reserved TTBR0_EL1 and the ASID
update in cpu_do_switch_mm().

This patch reverts the entry.S check for ASID == 0 to TTBR0_EL1 and
disables the interrupts around the TTBR0_EL1 and ASID switching code in
__uaccess_ttbr0_disable(). It also ensures that, when returning from the
EFI runtime services, efi_set_pgd() doesn't leave a non-zero ASID in
TTBR1_EL1 by using uaccess_ttbr0_{enable,disable}.

The accesses to current_thread_info()->ttbr0 are updated to use
READ_ONCE/WRITE_ONCE.

As a safety measure, __uaccess_ttbr0_enable() always masks out any
existing non-zero ASID TTBR1_EL1 before writing in the new ASID.

Fixes: 27a921e75711 ("arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN")
Acked-by: Will Deacon <will.deacon@arm.com>
Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: James Morse <james.morse@arm.com>
Tested-by: James Morse <james.morse@arm.com>
Co-developed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>

Conflicts:
	arch/arm64/include/asm/asm-uaccess.h
	arch/arm64/include/asm/uaccess.h
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/arm64/include/asm/asm-uaccess.h |   12 +++++++-----
 arch/arm64/include/asm/efi.h         |   12 +++++++-----
 arch/arm64/include/asm/mmu_context.h |    3 ++-
 arch/arm64/include/asm/uaccess.h     |    9 ++++++---
 arch/arm64/kernel/entry.S            |    2 +-
 arch/arm64/lib/clear_user.S          |    2 +-
 arch/arm64/lib/copy_from_user.S      |    2 +-
 arch/arm64/lib/copy_in_user.S        |    2 +-
 arch/arm64/lib/copy_to_user.S        |    2 +-
 arch/arm64/mm/cache.S                |    2 +-
 arch/arm64/mm/proc.S                 |    3 +++
 arch/arm64/xen/hypercall.S           |    2 +-
 12 files changed, 32 insertions(+), 21 deletions(-)

--- a/arch/arm64/include/asm/asm-uaccess.h
+++ b/arch/arm64/include/asm/asm-uaccess.h
@@ -14,11 +14,11 @@
 #ifdef CONFIG_ARM64_SW_TTBR0_PAN
 	.macro	__uaccess_ttbr0_disable, tmp1
 	mrs	\tmp1, ttbr1_el1		// swapper_pg_dir
+	bic	\tmp1, \tmp1, #TTBR_ASID_MASK
 	add	\tmp1, \tmp1, #SWAPPER_DIR_SIZE	// reserved_ttbr0 at the end of swapper_pg_dir
 	msr	ttbr0_el1, \tmp1		// set reserved TTBR0_EL1
 	isb
 	sub	\tmp1, \tmp1, #SWAPPER_DIR_SIZE
-	bic	\tmp1, \tmp1, #TTBR_ASID_MASK
 	msr	ttbr1_el1, \tmp1		// set reserved ASID
 	isb
 	.endm
@@ -35,9 +35,11 @@
 	isb
 	.endm
 
-	.macro	uaccess_ttbr0_disable, tmp1
+	.macro	uaccess_ttbr0_disable, tmp1, tmp2
 alternative_if_not ARM64_HAS_PAN
+	save_and_disable_irq \tmp2		// avoid preemption
 	__uaccess_ttbr0_disable \tmp1
+	restore_irq \tmp2
 alternative_else_nop_endif
 	.endm
 
@@ -49,7 +51,7 @@ alternative_if_not ARM64_HAS_PAN
 alternative_else_nop_endif
 	.endm
 #else
-	.macro	uaccess_ttbr0_disable, tmp1
+	.macro	uaccess_ttbr0_disable, tmp1, tmp2
 	.endm
 
 	.macro	uaccess_ttbr0_enable, tmp1, tmp2, tmp3
@@ -59,8 +61,8 @@ alternative_else_nop_endif
 /*
  * These macros are no-ops when UAO is present.
  */
-	.macro	uaccess_disable_not_uao, tmp1
-	uaccess_ttbr0_disable \tmp1
+	.macro	uaccess_disable_not_uao, tmp1, tmp2
+	uaccess_ttbr0_disable \tmp1, \tmp2
 alternative_if ARM64_ALT_PAN_NOT_UAO
 	SET_PSTATE_PAN(1)
 alternative_else_nop_endif
--- a/arch/arm64/include/asm/efi.h
+++ b/arch/arm64/include/asm/efi.h
@@ -121,19 +121,21 @@ static inline void efi_set_pgd(struct mm
 		if (mm != current->active_mm) {
 			/*
 			 * Update the current thread's saved ttbr0 since it is
-			 * restored as part of a return from exception. Set
-			 * the hardware TTBR0_EL1 using cpu_switch_mm()
-			 * directly to enable potential errata workarounds.
+			 * restored as part of a return from exception. Enable
+			 * access to the valid TTBR0_EL1 and invoke the errata
+			 * workaround directly since there is no return from
+			 * exception when invoking the EFI run-time services.
 			 */
 			update_saved_ttbr0(current, mm);
-			cpu_switch_mm(mm->pgd, mm);
+			uaccess_ttbr0_enable();
+			post_ttbr_update_workaround();
 		} else {
 			/*
 			 * Defer the switch to the current thread's TTBR0_EL1
 			 * until uaccess_enable(). Restore the current
 			 * thread's saved ttbr0 corresponding to its active_mm
 			 */
-			cpu_set_reserved_ttbr0();
+			uaccess_ttbr0_disable();
 			update_saved_ttbr0(current, current->active_mm);
 		}
 	}
--- a/arch/arm64/include/asm/mmu_context.h
+++ b/arch/arm64/include/asm/mmu_context.h
@@ -175,7 +175,7 @@ static inline void update_saved_ttbr0(st
 	else
 		ttbr = virt_to_phys(mm->pgd) | ASID(mm) << 48;
 
-	task_thread_info(tsk)->ttbr0 = ttbr;
+	WRITE_ONCE(task_thread_info(tsk)->ttbr0, ttbr);
 }
 #else
 static inline void update_saved_ttbr0(struct task_struct *tsk,
@@ -230,6 +230,7 @@ switch_mm(struct mm_struct *prev, struct
 #define activate_mm(prev,next)	switch_mm(prev, next, current)
 
 void verify_cpu_asid_bits(void);
+void post_ttbr_update_workaround(void);
 
 #endif /* !__ASSEMBLY__ */
 
--- a/arch/arm64/include/asm/uaccess.h
+++ b/arch/arm64/include/asm/uaccess.h
@@ -105,16 +105,18 @@ static inline void set_fs(mm_segment_t f
 #ifdef CONFIG_ARM64_SW_TTBR0_PAN
 static inline void __uaccess_ttbr0_disable(void)
 {
-	unsigned long ttbr;
+	unsigned long flags, ttbr;
 
+	local_irq_save(flags);
 	ttbr = read_sysreg(ttbr1_el1);
+	ttbr &= ~TTBR_ASID_MASK;
 	/* reserved_ttbr0 placed at the end of swapper_pg_dir */
 	write_sysreg(ttbr + SWAPPER_DIR_SIZE, ttbr0_el1);
 	isb();
 	/* Set reserved ASID */
-	ttbr &= ~TTBR_ASID_MASK;
 	write_sysreg(ttbr, ttbr1_el1);
 	isb();
+	local_irq_restore(flags);
 }
 
 static inline void __uaccess_ttbr0_enable(void)
@@ -127,10 +129,11 @@ static inline void __uaccess_ttbr0_enabl
 	 * roll-over and an update of 'ttbr0'.
 	 */
 	local_irq_save(flags);
-	ttbr0 = current_thread_info()->ttbr0;
+	ttbr0 = READ_ONCE(current_thread_info()->ttbr0);
 
 	/* Restore active ASID */
 	ttbr1 = read_sysreg(ttbr1_el1);
+	ttbr1 &= ~TTBR_ASID_MASK;		/* safety measure */
 	ttbr1 |= ttbr0 & TTBR_ASID_MASK;
 	write_sysreg(ttbr1, ttbr1_el1);
 	isb();
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -204,7 +204,7 @@ alternative_if ARM64_HAS_PAN
 alternative_else_nop_endif
 
 	.if	\el != 0
-	mrs	x21, ttbr1_el1
+	mrs	x21, ttbr0_el1
 	tst	x21, #TTBR_ASID_MASK		// Check for the reserved ASID
 	orr	x23, x23, #PSR_PAN_BIT		// Set the emulated PAN in the saved SPSR
 	b.eq	1f				// TTBR0 access already disabled
--- a/arch/arm64/lib/clear_user.S
+++ b/arch/arm64/lib/clear_user.S
@@ -50,7 +50,7 @@ uao_user_alternative 9f, strh, sttrh, wz
 	b.mi	5f
 uao_user_alternative 9f, strb, sttrb, wzr, x0, 0
 5:	mov	x0, #0
-	uaccess_disable_not_uao x2
+	uaccess_disable_not_uao x2, x3
 	ret
 ENDPROC(__clear_user)
 
--- a/arch/arm64/lib/copy_from_user.S
+++ b/arch/arm64/lib/copy_from_user.S
@@ -67,7 +67,7 @@ ENTRY(__arch_copy_from_user)
 	uaccess_enable_not_uao x3, x4, x5
 	add	end, x0, x2
 #include "copy_template.S"
-	uaccess_disable_not_uao x3
+	uaccess_disable_not_uao x3, x4
 	mov	x0, #0				// Nothing to copy
 	ret
 ENDPROC(__arch_copy_from_user)
--- a/arch/arm64/lib/copy_in_user.S
+++ b/arch/arm64/lib/copy_in_user.S
@@ -68,7 +68,7 @@ ENTRY(raw_copy_in_user)
 	uaccess_enable_not_uao x3, x4, x5
 	add	end, x0, x2
 #include "copy_template.S"
-	uaccess_disable_not_uao x3
+	uaccess_disable_not_uao x3, x4
 	mov	x0, #0
 	ret
 ENDPROC(raw_copy_in_user)
--- a/arch/arm64/lib/copy_to_user.S
+++ b/arch/arm64/lib/copy_to_user.S
@@ -66,7 +66,7 @@ ENTRY(__arch_copy_to_user)
 	uaccess_enable_not_uao x3, x4, x5
 	add	end, x0, x2
 #include "copy_template.S"
-	uaccess_disable_not_uao x3
+	uaccess_disable_not_uao x3, x4
 	mov	x0, #0
 	ret
 ENDPROC(__arch_copy_to_user)
--- a/arch/arm64/mm/cache.S
+++ b/arch/arm64/mm/cache.S
@@ -72,7 +72,7 @@ USER(9f, ic	ivau, x4	)		// invalidate I
 	isb
 	mov	x0, #0
 1:
-	uaccess_ttbr0_disable x1
+	uaccess_ttbr0_disable x1, x2
 	ret
 9:
 	mov	x0, #-EFAULT
--- a/arch/arm64/mm/proc.S
+++ b/arch/arm64/mm/proc.S
@@ -140,6 +140,9 @@ ENDPROC(cpu_do_resume)
 ENTRY(cpu_do_switch_mm)
 	mrs	x2, ttbr1_el1
 	mmid	x1, x1				// get mm->context.id
+#ifdef CONFIG_ARM64_SW_TTBR0_PAN
+	bfi	x0, x1, #48, #16		// set the ASID field in TTBR0
+#endif
 	bfi	x2, x1, #48, #16		// set the ASID
 	msr	ttbr1_el1, x2			// in TTBR1 (since TCR.A1 is set)
 	isb
--- a/arch/arm64/xen/hypercall.S
+++ b/arch/arm64/xen/hypercall.S
@@ -107,6 +107,6 @@ ENTRY(privcmd_call)
 	/*
 	 * Disable userspace access from kernel once the hyp call completed.
 	 */
-	uaccess_ttbr0_disable x6
+	uaccess_ttbr0_disable x6, x7
 	ret
 ENDPROC(privcmd_call);

  parent reply	other threads:[~2018-02-15 15:15 UTC|newest]

Thread overview: 209+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-15 15:15 [PATCH 4.15 000/202] 4.15.4-stable review Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 001/202] watchdog: indydog: Add dependency on SGI_HAS_INDYDOG Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 002/202] cifs: Fix missing put_xid in cifs_file_strict_mmap Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 003/202] cifs: Fix autonegotiate security settings mismatch Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 004/202] CIFS: zero sensitive data when freeing Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 005/202] cpufreq: mediatek: add mediatek related projects into blacklist Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 006/202] dmaengine: dmatest: fix container_of member in dmatest_callback Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 007/202] ssb: Do not disable PCI host on non-Mips Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 008/202] watchdog: gpio_wdt: set WDOG_HW_RUNNING in gpio_wdt_stop Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 009/202] Revert "drm/i915: mark all device info struct with __initconst" Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 010/202] sched/rt: Use container_of() to get root domain in rto_push_irq_work_func() Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 011/202] sched/rt: Up the root domain ref count when passing it around via IPIs Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 012/202] media: dvb-usb-v2: lmedm04: Improve logic checking of warm start Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 013/202] media: dvb-usb-v2: lmedm04: move ts2020 attach to dm04_lme2510_tuner Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 014/202] media: hdpvr: Fix an error handling path in hdpvr_probe() Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 015/202] [Variant 3/Meltdown] arm64: mm: Use non-global mappings for kernel space Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 016/202] [Variant 3/Meltdown] arm64: mm: Temporarily disable ARM64_SW_TTBR0_PAN Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 017/202] [Variant 3/Meltdown] arm64: mm: Move ASID from TTBR0 to TTBR1 Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 018/202] [Variant 3/Meltdown] arm64: mm: Remove pre_ttbr0_update_workaround for Falkor erratum #E1003 Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 019/202] [Variant 3/Meltdown] arm64: mm: Rename post_ttbr0_update_workaround Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 020/202] [Variant 3/Meltdown] arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 021/202] [Variant 3/Meltdown] arm64: mm: Allocate ASIDs in pairs Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 022/202] [Variant 3/Meltdown] arm64: mm: Add arm64_kernel_unmapped_at_el0 helper Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 023/202] [Variant 3/Meltdown] arm64: mm: Invalidate both kernel and user ASIDs when performing TLBI Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 024/202] [Variant 3/Meltdown] arm64: entry: Add exception trampoline page for exceptions from EL0 Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 025/202] [Variant 3/Meltdown] arm64: mm: Map entry trampoline into trampoline and kernel page tables Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 026/202] [Variant 3/Meltdown] arm64: entry: Explicitly pass exception level to kernel_ventry macro Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 027/202] [Variant 3/Meltdown] arm64: entry: Hook up entry trampoline to exception vectors Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 028/202] [Variant 3/Meltdown] arm64: erratum: Work around Falkor erratum #E1003 in trampoline code Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 029/202] [Variant 3/Meltdown] arm64: cpu_errata: Add Kryo to Falkor 1003 errata Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 030/202] [Variant 3/Meltdown] arm64: tls: Avoid unconditional zeroing of tpidrro_el0 for native tasks Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 031/202] [Variant 3/Meltdown] arm64: entry: Add fake CPU feature for unmapping the kernel at EL0 Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 032/202] [Variant 3/Meltdown] arm64: kaslr: Put kernel vectors address in separate data page Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 033/202] [Variant 3/Meltdown] arm64: use RET instruction for exiting the trampoline Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 034/202] [Variant 3/Meltdown] arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0 Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 035/202] [Variant 3/Meltdown] arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 036/202] [Variant 3/Meltdown] arm64: Take into account ID_AA64PFR0_EL1.CSV3 Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 037/202] [Variant 3/Meltdown] arm64: capabilities: Handle duplicate entries for a capability Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 038/202] [Variant 3/Meltdown] arm64: mm: Introduce TTBR_ASID_MASK for getting at the ASID in the TTBR Greg Kroah-Hartman
2018-02-15 15:15 ` Greg Kroah-Hartman [this message]
2018-02-15 15:15 ` [PATCH 4.15 040/202] [Variant 3/Meltdown] arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 041/202] [Variant 3/Meltdown] arm64: Turn on KPTI only on CPUs that need it Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 042/202] [Variant 3/Meltdown] arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0() Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 043/202] [Variant 3/Meltdown] arm64: mm: Permit transitioning from Global to Non-Global without BBM Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 044/202] [Variant 3/Meltdown] arm64: kpti: Add ->enable callback to remap swapper using nG mappings Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 045/202] [Variant 3/Meltdown] arm64: Force KPTI to be disabled on Cavium ThunderX Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 046/202] [Variant 3/Meltdown] arm64: entry: Reword comment about post_ttbr_update_workaround Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 047/202] [Variant 3/Meltdown] arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 048/202] [Variant 3/Meltdown] perf: arm_spe: Fail device probe when arm64_kernel_unmapped_at_el0() Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 049/202] [Variant 1/Spectre-v1] arm64: barrier: Add CSDB macros to control data-value prediction Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 050/202] [Variant 1/Spectre-v1] arm64: Implement array_index_mask_nospec() Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 051/202] [Variant 1/Spectre-v1] arm64: Make USER_DS an inclusive limit Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 052/202] [Variant 1/Spectre-v1] arm64: Use pointer masking to limit uaccess speculation Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 053/202] [Variant 1/Spectre-v1] arm64: entry: Ensure branch through syscall table is bounded under speculation Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 054/202] [Variant 1/Spectre-v1] arm64: uaccess: Prevent speculative use of the current addr_limit Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 055/202] [Variant 1/Spectre-v1] arm64: uaccess: Dont bother eliding access_ok checks in __{get, put}_user Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 056/202] [Variant 1/Spectre-v1] arm64: uaccess: Mask __user pointers for __arch_{clear, copy_*}_user Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 057/202] [Variant 1/Spectre-v1] arm64: futex: Mask __user pointers prior to dereference Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 058/202] [Variant 2/Spectre-v2] arm64: cpufeature: __this_cpu_has_cap() shouldnt stop early Greg Kroah-Hartman
2018-02-15 15:15 ` [PATCH 4.15 059/202] [Variant 2/Spectre-v2] arm64: Run enable method for errata work arounds on late CPUs Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 060/202] [Variant 2/Spectre-v2] arm64: cpufeature: Pass capability structure to ->enable callback Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 061/202] [Variant 2/Spectre-v2] drivers/firmware: Expose psci_get_version through psci_ops structure Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 062/202] [Variant 2/Spectre-v2] arm64: Move post_ttbr_update_workaround to C code Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 063/202] [Variant 2/Spectre-v2] arm64: Add skeleton to harden the branch predictor against aliasing attacks Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 064/202] [Variant 2/Spectre-v2] arm64: Move BP hardening to check_and_switch_context Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 065/202] [Variant 2/Spectre-v2] arm64: KVM: Use per-CPU vector when BP hardening is enabled Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 066/202] [Variant 2/Spectre-v2] arm64: entry: Apply BP hardening for high-priority synchronous exceptions Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 067/202] [Variant 2/Spectre-v2] arm64: entry: Apply BP hardening for suspicious interrupts from EL0 Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 068/202] [Variant 2/Spectre-v2] arm64: cputype: Add missing MIDR values for Cortex-A72 and Cortex-A75 Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 069/202] [Variant 2/Spectre-v2] arm64: Implement branch predictor hardening for affected Cortex-A CPUs Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 070/202] [Variant 2/Spectre-v2] arm64: Implement branch predictor hardening for Falkor Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 071/202] [Variant 2/Spectre-v2] arm64: Branch predictor hardening for Cavium ThunderX2 Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 072/202] [Variant 2/Spectre-v2] arm64: KVM: Increment PC after handling an SMC trap Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 073/202] [Variant 2/Spectre-v2] arm/arm64: KVM: Consolidate the PSCI include files Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 074/202] [Variant 2/Spectre-v2] arm/arm64: KVM: Add PSCI_VERSION helper Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 075/202] [Variant 2/Spectre-v2] arm/arm64: KVM: Add smccc accessors to PSCI code Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 076/202] [Variant 2/Spectre-v2] arm/arm64: KVM: Implement PSCI 1.0 support Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 077/202] [Variant 2/Spectre-v2] arm/arm64: KVM: Advertise SMCCC v1.1 Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 078/202] [Variant 2/Spectre-v2] arm64: KVM: Make PSCI_VERSION a fast path Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 079/202] [Variant 2/Spectre-v2] arm/arm64: KVM: Turn kvm_psci_version into a static inline Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 080/202] [Variant 2/Spectre-v2] arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 081/202] [Variant 2/Spectre-v2] arm64: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 082/202] [Variant 2/Spectre-v2] firmware/psci: Expose PSCI conduit Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 083/202] [Variant 2/Spectre-v2] firmware/psci: Expose SMCCC version through psci_ops Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 084/202] [Variant 2/Spectre-v2] arm/arm64: smccc: Make function identifiers an unsigned quantity Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 085/202] [Variant 2/Spectre-v2] arm/arm64: smccc: Implement SMCCC v1.1 inline primitive Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 086/202] [Variant 2/Spectre-v2] arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 087/202] [Variant 2/Spectre-v2] arm64: Kill PSCI_GET_VERSION as a variant-2 workaround Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 088/202] mtd: cfi: convert inline functions to macros Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 089/202] mtd: nand: brcmnand: Disable prefetch by default Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 090/202] mtd: nand: Fix nand_do_read_oob() return value Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 091/202] mtd: nand: sunxi: Fix ECC strength choice Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 092/202] ubi: Fix race condition between ubi volume creation and udev Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 093/202] ubi: fastmap: Erase outdated anchor PEBs during attach Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 094/202] ubi: block: Fix locking for idr_alloc/idr_remove Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 095/202] ubifs: free the encrypted symlink target Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 096/202] nfs/pnfs: fix nfs_direct_req ref leak when i/o falls back to the mds Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 097/202] nfs41: do not return ENOMEM on LAYOUTUNAVAILABLE Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 098/202] NFS: Add a cond_resched() to nfs_commit_release_pages() Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 099/202] NFS: Fix nfsstat breakage due to LOOKUPP Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 100/202] NFS: commit direct writes even if they fail partially Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 101/202] NFS: reject request for id_legacy key without auxdata Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 102/202] NFS: Fix a race between mmap() and O_DIRECT Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 103/202] nfsd: Detect unhashed stids in nfsd4_verify_open_stid() Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 104/202] kernfs: fix regression in kernfs_fop_write caused by wrong type Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 105/202] ahci: Annotate PCI ids for mobile Intel chipsets as such Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 106/202] ahci: Add PCI ids for Intel Bay Trail, Cherry Trail and Apollo Lake AHCI Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 107/202] ahci: Add Intel Cannon Lake PCH-H PCI ID Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 108/202] crypto: hash - introduce crypto_hash_alg_has_setkey() Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 109/202] crypto: cryptd - pass through absence of ->setkey() Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 110/202] crypto: mcryptd " Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 111/202] crypto: poly1305 - remove ->setkey() method Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 112/202] crypto: hash - annotate algorithms taking optional key Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 113/202] crypto: hash - prevent using keyed hashes without setting key Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 114/202] media: v4l2-ioctl.c: use check_fmt for enum/g/s/try_fmt Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 115/202] media: v4l2-ioctl.c: dont copy back the result for -ENOTTY Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 116/202] media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 117/202] media: v4l2-compat-ioctl32.c: fix the indentation Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 118/202] media: v4l2-compat-ioctl32.c: move helper functions to __get/put_v4l2_format32 Greg Kroah-Hartman
2018-02-15 15:16 ` [PATCH 4.15 119/202] media: v4l2-compat-ioctl32.c: avoid sizeof(type) Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 120/202] media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32 Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 121/202] media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 122/202] media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32 Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 123/202] media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 124/202] media: v4l2-compat-ioctl32.c: dont copy back the result for certain errors Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 125/202] media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 126/202] media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 127/202] crypto: caam - fix endless loop when DECO acquire fails Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 128/202] crypto: sha512-mb - initialize pending lengths correctly Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 129/202] crypto: talitos - fix Kernel Oops on hashing an empty file Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 130/202] arm: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 131/202] KVM: nVMX: Fix races when sending nested PI while dest enters/leaves L2 Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 132/202] KVM: nVMX: Fix bug of injecting L2 exception into L1 Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 133/202] KVM: PPC: Book3S HV: Make sure we dont re-enter guest without XIVE loaded Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 134/202] KVM: PPC: Book3S HV: Drop locks before reading guest memory Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 135/202] KVM: arm/arm64: Handle CPU_PM_ENTER_FAILED Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 136/202] KVM: PPC: Book3S PR: Fix broken select due to misspelling Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 137/202] ASoC: acpi: fix machine driver selection based on quirk Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 138/202] ASoC: rockchip: i2s: fix playback after runtime resume Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 139/202] ASoC: skl: Fix kernel warning due to zero NHTL entry Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 140/202] ASoC: compress: Correct handling of copy callback Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 141/202] watchdog: imx2_wdt: restore previous timeout after suspend+resume Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 142/202] afs: Add missing afs_put_cell() Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 143/202] afs: Need to clear responded flag in addr cursor Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 144/202] afs: Fix missing cursor clearance Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 145/202] afs: Fix server list handling Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 146/202] btrfs: Handle btrfs_set_extent_delalloc failure in fixup worker Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 147/202] Btrfs: raid56: iterate raid56 internal bio with bio_for_each_segment_all Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 148/202] kasan: dont emit builtin calls when sanitization is off Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 149/202] kasan: rework Kconfig settings Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 150/202] media: dvb_frontend: be sure to init dvb_frontend_handle_ioctl() return code Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 151/202] media: dvb-frontends: fix i2c access helpers for KASAN Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 152/202] media: dt-bindings/media/cec-gpio.txt: mention the CEC/HPD max voltages Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 153/202] media: ts2020: avoid integer overflows on 32 bit machines Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 154/202] media: vivid: fix module load error when enabling fb and no_error_inj=1 Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 155/202] media: cxusb, dib0700: ignore XC2028_I2C_FLUSH Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 156/202] fs/proc/kcore.c: use probe_kernel_read() instead of memcpy() Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 157/202] kernel/async.c: revert "async: simplify lowest_in_progress()" Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 158/202] kernel/relay.c: revert "kernel/relay.c: fix potential memory leak" Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 159/202] pipe: actually allow root to exceed the pipe buffer limits Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 160/202] pipe: fix off-by-one error when checking " Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 161/202] HID: quirks: Fix keyboard + touchpad on Toshiba Click Mini not working Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 162/202] Bluetooth: btsdio: Do not bind to non-removable BCM43341 Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 163/202] Revert "Bluetooth: btusb: fix QCA Rome suspend/resume" Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 164/202] Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" version Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 165/202] ipmi: use dynamic memory for DMI driver override Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 166/202] signal/openrisc: Fix do_unaligned_access to send the proper signal Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 167/202] signal/sh: Ensure si_signo is initialized in do_divide_error Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 168/202] alpha: fix crash if pthread_create races with signal delivery Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 169/202] alpha: osf_sys.c: fix put_tv32 regression Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 170/202] alpha: Fix mixed up args in EXC macro in futex operations Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 171/202] alpha: fix reboot on Avanti platform Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 172/202] alpha: fix formating of stack content Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 173/202] xtensa: fix futex_atomic_cmpxchg_inatomic Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 174/202] EDAC, octeon: Fix an uninitialized variable warning Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 175/202] genirq: Make legacy autoprobing work again Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 176/202] pinctrl: intel: Initialize GPIO properly when used through irqchip Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 177/202] pinctrl: mcp23s08: fix irq setup order Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 178/202] pinctrl: sx150x: Unregister the pinctrl on release Greg Kroah-Hartman
2018-02-15 15:17 ` [PATCH 4.15 179/202] pinctrl: sx150x: Register pinctrl before adding the gpiochip Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 180/202] pinctrl: sx150x: Add a static gpio/pinctrl pin range mapping Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 181/202] pktcdvd: Fix pkt_setup_dev() error path Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 182/202] pktcdvd: Fix a recently introduced NULL pointer dereference Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 183/202] blk-mq: quiesce queue before freeing queue Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 184/202] clocksource/drivers/stm32: Fix kernel panic with multiple timers Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 185/202] lib/ubsan.c: s/missaligned/misaligned/ Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 186/202] lib/ubsan: add type mismatch handler for new GCC/Clang Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 187/202] objtool: Fix switch-table detection Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 188/202] arm64: dts: marvell: add Ethernet aliases Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 189/202] drm/i915: Avoid PPS HW/SW state mismatch due to rounding Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 190/202] ACPI: sbshc: remove raw pointer from printk() message Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 191/202] acpi, nfit: fix register dimm error handling Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 192/202] ovl: force r/o mount when index dir creation fails Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 193/202] ovl: fix failure to fsync lower dir Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 194/202] ovl: take mnt_want_write() for work/index dir setup Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 195/202] ovl: take mnt_want_write() for removing impure xattr Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 196/202] ovl: hash directory inodes for fsnotify Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 197/202] mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 198/202] devpts: fix error handling in devpts_mntget() Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 199/202] ftrace: Remove incorrect setting of glob search field Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 200/202] scsi: core: Ensure that the SCSI error handler gets woken up Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 201/202] scsi: lpfc: Fix crash after bad bar setup on driver attachment Greg Kroah-Hartman
2018-02-15 15:18 ` [PATCH 4.15 202/202] scsi: cxlflash: Reset command ioasc Greg Kroah-Hartman
2018-02-15 21:59 ` [PATCH 4.15 000/202] 4.15.4-stable review Shuah Khan
2018-02-16 10:33   ` Greg Kroah-Hartman
2018-02-16  6:01 ` Naresh Kamboju
2018-02-16 10:33   ` Greg Kroah-Hartman
2018-02-16 14:28 ` Guenter Roeck
2018-02-16 19:08   ` Greg Kroah-Hartman

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=20180215151715.168926036@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome