From: Kristina Martsenko <kristina.martsenko@arm.com> To: linux-arm-kernel@lists.infradead.org Cc: Adam Wallis <awallis@codeaurora.org>, Amit Kachhap <Amit.Kachhap@arm.com>, Andrew Jones <drjones@redhat.com>, Ard Biesheuvel <ard.biesheuvel@linaro.org>, Arnd Bergmann <arnd@arndb.de>, Catalin Marinas <catalin.marinas@arm.com>, Christoffer Dall <christoffer.dall@arm.com>, Dave P Martin <Dave.Martin@arm.com>, Jacob Bramley <jacob.bramley@arm.com>, Kees Cook <keescook@chromium.org>, Marc Zyngier <marc.zyngier@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>, "Suzuki K . Poulose" <suzuki.poulose@arm.com>, Will Deacon <will.deacon@arm.com>, kvmarm@lists.cs.columbia.edu, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC 13/17] arm64: install user ptrauth keys at kernel exit time Date: Fri, 5 Oct 2018 09:47:50 +0100 [thread overview] Message-ID: <20181005084754.20950-14-kristina.martsenko@arm.com> (raw) In-Reply-To: <20181005084754.20950-1-kristina.martsenko@arm.com> From: Mark Rutland <mark.rutland@arm.com> This will mean we do more work per EL0 exception return, but is a stepping-stone to enable keys within the kernel. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com> --- arch/arm64/include/asm/pointer_auth.h | 7 +------ arch/arm64/include/asm/ptrauth-asm.h | 26 ++++++++++++++++++++++++++ arch/arm64/kernel/asm-offsets.c | 7 +++++++ arch/arm64/kernel/entry.S | 9 +++++++-- arch/arm64/kernel/process.c | 1 - 5 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 arch/arm64/include/asm/ptrauth-asm.h diff --git a/arch/arm64/include/asm/pointer_auth.h b/arch/arm64/include/asm/pointer_auth.h index cedb03bd175b..5e40533f4ea2 100644 --- a/arch/arm64/include/asm/pointer_auth.h +++ b/arch/arm64/include/asm/pointer_auth.h @@ -64,16 +64,11 @@ static inline unsigned long ptrauth_strip_insn_pac(unsigned long ptr) } #define ptrauth_task_init_user(tsk) \ - ptrauth_keys_init(&(tsk)->thread_info.keys_user); \ - ptrauth_keys_switch(&(tsk)->thread_info.keys_user) - -#define ptrauth_task_switch(tsk) \ - ptrauth_keys_switch(&(tsk)->thread_info.keys_user) + ptrauth_keys_init(&(tsk)->thread_info.keys_user) #else /* CONFIG_ARM64_PTR_AUTH */ #define ptrauth_strip_insn_pac(lr) (lr) #define ptrauth_task_init_user(tsk) -#define ptrauth_task_switch(tsk) #endif /* CONFIG_ARM64_PTR_AUTH */ #endif /* __ASM_POINTER_AUTH_H */ diff --git a/arch/arm64/include/asm/ptrauth-asm.h b/arch/arm64/include/asm/ptrauth-asm.h new file mode 100644 index 000000000000..f50bdfc4046c --- /dev/null +++ b/arch/arm64/include/asm/ptrauth-asm.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __ASM_PTRAUTH_ASM_H +#define __ASM_PTRAUTH_ASM_H + +#include <asm/asm-offsets.h> +#include <asm/sysreg.h> + +#ifdef CONFIG_ARM64_PTR_AUTH + + .macro ptrauth_keys_install_user tsk, tmp +alternative_if ARM64_HAS_ADDRESS_AUTH + ldr \tmp, [\tsk, #(TSK_TI_KEYS_USER + PTRAUTH_KEY_APIALO)] + msr_s SYS_APIAKEYLO_EL1, \tmp + ldr \tmp, [\tsk, #(TSK_TI_KEYS_USER + PTRAUTH_KEY_APIAHI)] + msr_s SYS_APIAKEYHI_EL1, \tmp +alternative_else_nop_endif + .endm + +#else /* CONFIG_ARM64_PTR_AUTH */ + + .macro ptrauth_keys_install_user tsk, tmp + .endm + +#endif /* CONFIG_ARM64_PTR_AUTH */ + +#endif /* __ASM_PTRAUTH_ASM_H */ diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c index 323aeb5f2fe6..b6be0dd037fd 100644 --- a/arch/arm64/kernel/asm-offsets.c +++ b/arch/arm64/kernel/asm-offsets.c @@ -45,6 +45,9 @@ int main(void) #ifdef CONFIG_ARM64_SW_TTBR0_PAN DEFINE(TSK_TI_TTBR0, offsetof(struct task_struct, thread_info.ttbr0)); #endif +#ifdef CONFIG_ARM64_PTR_AUTH + DEFINE(TSK_TI_KEYS_USER, offsetof(struct task_struct, thread_info.keys_user)); +#endif DEFINE(TSK_STACK, offsetof(struct task_struct, stack)); BLANK(); DEFINE(THREAD_CPU_CONTEXT, offsetof(struct task_struct, thread.cpu_context)); @@ -169,5 +172,9 @@ int main(void) DEFINE(SDEI_EVENT_INTREGS, offsetof(struct sdei_registered_event, interrupted_regs)); DEFINE(SDEI_EVENT_PRIORITY, offsetof(struct sdei_registered_event, priority)); #endif +#ifdef CONFIG_ARM64_PTR_AUTH + DEFINE(PTRAUTH_KEY_APIALO, offsetof(struct ptrauth_keys, apia.lo)); + DEFINE(PTRAUTH_KEY_APIAHI, offsetof(struct ptrauth_keys, apia.hi)); +#endif return 0; } diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 09dbea221a27..1e925f6d2978 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -23,8 +23,9 @@ #include <linux/linkage.h> #include <asm/alternative.h> -#include <asm/assembler.h> #include <asm/asm-offsets.h> +#include <asm/asm-uaccess.h> +#include <asm/assembler.h> #include <asm/cpufeature.h> #include <asm/errno.h> #include <asm/esr.h> @@ -33,8 +34,8 @@ #include <asm/mmu.h> #include <asm/processor.h> #include <asm/ptrace.h> +#include <asm/ptrauth-asm.h> #include <asm/thread_info.h> -#include <asm/asm-uaccess.h> #include <asm/unistd.h> /* @@ -325,6 +326,10 @@ alternative_else_nop_endif apply_ssbd 0, x0, x1 .endif + .if \el == 0 + ptrauth_keys_install_user tsk, x0 + .endif + msr elr_el1, x21 // set up the return data msr spsr_el1, x22 ldp x0, x1, [sp, #16 * 0] diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index fae52be66c92..857ae05cd04c 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -426,7 +426,6 @@ __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev, contextidr_thread_switch(next); entry_task_switch(next); uao_thread_switch(next); - ptrauth_task_switch(next); /* * Complete any pending TLB or cache maintenance on this CPU in case -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: kristina.martsenko@arm.com (Kristina Martsenko) To: linux-arm-kernel@lists.infradead.org Subject: [RFC 13/17] arm64: install user ptrauth keys at kernel exit time Date: Fri, 5 Oct 2018 09:47:50 +0100 [thread overview] Message-ID: <20181005084754.20950-14-kristina.martsenko@arm.com> (raw) In-Reply-To: <20181005084754.20950-1-kristina.martsenko@arm.com> From: Mark Rutland <mark.rutland@arm.com> This will mean we do more work per EL0 exception return, but is a stepping-stone to enable keys within the kernel. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com> --- arch/arm64/include/asm/pointer_auth.h | 7 +------ arch/arm64/include/asm/ptrauth-asm.h | 26 ++++++++++++++++++++++++++ arch/arm64/kernel/asm-offsets.c | 7 +++++++ arch/arm64/kernel/entry.S | 9 +++++++-- arch/arm64/kernel/process.c | 1 - 5 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 arch/arm64/include/asm/ptrauth-asm.h diff --git a/arch/arm64/include/asm/pointer_auth.h b/arch/arm64/include/asm/pointer_auth.h index cedb03bd175b..5e40533f4ea2 100644 --- a/arch/arm64/include/asm/pointer_auth.h +++ b/arch/arm64/include/asm/pointer_auth.h @@ -64,16 +64,11 @@ static inline unsigned long ptrauth_strip_insn_pac(unsigned long ptr) } #define ptrauth_task_init_user(tsk) \ - ptrauth_keys_init(&(tsk)->thread_info.keys_user); \ - ptrauth_keys_switch(&(tsk)->thread_info.keys_user) - -#define ptrauth_task_switch(tsk) \ - ptrauth_keys_switch(&(tsk)->thread_info.keys_user) + ptrauth_keys_init(&(tsk)->thread_info.keys_user) #else /* CONFIG_ARM64_PTR_AUTH */ #define ptrauth_strip_insn_pac(lr) (lr) #define ptrauth_task_init_user(tsk) -#define ptrauth_task_switch(tsk) #endif /* CONFIG_ARM64_PTR_AUTH */ #endif /* __ASM_POINTER_AUTH_H */ diff --git a/arch/arm64/include/asm/ptrauth-asm.h b/arch/arm64/include/asm/ptrauth-asm.h new file mode 100644 index 000000000000..f50bdfc4046c --- /dev/null +++ b/arch/arm64/include/asm/ptrauth-asm.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __ASM_PTRAUTH_ASM_H +#define __ASM_PTRAUTH_ASM_H + +#include <asm/asm-offsets.h> +#include <asm/sysreg.h> + +#ifdef CONFIG_ARM64_PTR_AUTH + + .macro ptrauth_keys_install_user tsk, tmp +alternative_if ARM64_HAS_ADDRESS_AUTH + ldr \tmp, [\tsk, #(TSK_TI_KEYS_USER + PTRAUTH_KEY_APIALO)] + msr_s SYS_APIAKEYLO_EL1, \tmp + ldr \tmp, [\tsk, #(TSK_TI_KEYS_USER + PTRAUTH_KEY_APIAHI)] + msr_s SYS_APIAKEYHI_EL1, \tmp +alternative_else_nop_endif + .endm + +#else /* CONFIG_ARM64_PTR_AUTH */ + + .macro ptrauth_keys_install_user tsk, tmp + .endm + +#endif /* CONFIG_ARM64_PTR_AUTH */ + +#endif /* __ASM_PTRAUTH_ASM_H */ diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c index 323aeb5f2fe6..b6be0dd037fd 100644 --- a/arch/arm64/kernel/asm-offsets.c +++ b/arch/arm64/kernel/asm-offsets.c @@ -45,6 +45,9 @@ int main(void) #ifdef CONFIG_ARM64_SW_TTBR0_PAN DEFINE(TSK_TI_TTBR0, offsetof(struct task_struct, thread_info.ttbr0)); #endif +#ifdef CONFIG_ARM64_PTR_AUTH + DEFINE(TSK_TI_KEYS_USER, offsetof(struct task_struct, thread_info.keys_user)); +#endif DEFINE(TSK_STACK, offsetof(struct task_struct, stack)); BLANK(); DEFINE(THREAD_CPU_CONTEXT, offsetof(struct task_struct, thread.cpu_context)); @@ -169,5 +172,9 @@ int main(void) DEFINE(SDEI_EVENT_INTREGS, offsetof(struct sdei_registered_event, interrupted_regs)); DEFINE(SDEI_EVENT_PRIORITY, offsetof(struct sdei_registered_event, priority)); #endif +#ifdef CONFIG_ARM64_PTR_AUTH + DEFINE(PTRAUTH_KEY_APIALO, offsetof(struct ptrauth_keys, apia.lo)); + DEFINE(PTRAUTH_KEY_APIAHI, offsetof(struct ptrauth_keys, apia.hi)); +#endif return 0; } diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 09dbea221a27..1e925f6d2978 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -23,8 +23,9 @@ #include <linux/linkage.h> #include <asm/alternative.h> -#include <asm/assembler.h> #include <asm/asm-offsets.h> +#include <asm/asm-uaccess.h> +#include <asm/assembler.h> #include <asm/cpufeature.h> #include <asm/errno.h> #include <asm/esr.h> @@ -33,8 +34,8 @@ #include <asm/mmu.h> #include <asm/processor.h> #include <asm/ptrace.h> +#include <asm/ptrauth-asm.h> #include <asm/thread_info.h> -#include <asm/asm-uaccess.h> #include <asm/unistd.h> /* @@ -325,6 +326,10 @@ alternative_else_nop_endif apply_ssbd 0, x0, x1 .endif + .if \el == 0 + ptrauth_keys_install_user tsk, x0 + .endif + msr elr_el1, x21 // set up the return data msr spsr_el1, x22 ldp x0, x1, [sp, #16 * 0] diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index fae52be66c92..857ae05cd04c 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -426,7 +426,6 @@ __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev, contextidr_thread_switch(next); entry_task_switch(next); uao_thread_switch(next); - ptrauth_task_switch(next); /* * Complete any pending TLB or cache maintenance on this CPU in case -- 2.11.0
next prev parent reply other threads:[~2018-10-05 8:50 UTC|newest] Thread overview: 161+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-10-05 8:47 [PATCH 00/17] ARMv8.3 pointer authentication support Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 01/17] arm64: add pointer authentication register bits Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-11 16:28 ` Will Deacon 2018-10-11 16:28 ` Will Deacon 2018-10-12 8:53 ` Mark Rutland 2018-10-12 8:53 ` Mark Rutland 2018-10-12 8:56 ` Will Deacon 2018-10-12 8:56 ` Will Deacon 2018-10-12 9:50 ` Mark Rutland 2018-10-12 9:50 ` Mark Rutland 2018-10-05 8:47 ` [PATCH v5 02/17] arm64/kvm: consistently handle host HCR_EL2 flags Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 03/17] arm64/kvm: hide ptrauth from guests Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 04/17] arm64: Don't trap host pointer auth use to EL2 Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 05/17] arm64/cpufeature: detect pointer authentication Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 06/17] asm-generic: mm_hooks: allow hooks to be overridden individually Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 07/17] arm64: add basic pointer authentication support Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-11 16:00 ` Suzuki K Poulose 2018-10-11 16:00 ` Suzuki K Poulose 2018-10-19 11:15 ` Catalin Marinas 2018-10-19 11:15 ` Catalin Marinas 2018-10-19 11:15 ` Catalin Marinas 2018-10-19 11:24 ` Will Deacon 2018-10-19 11:24 ` Will Deacon 2018-10-19 15:36 ` Kees Cook 2018-10-19 15:36 ` Kees Cook 2018-10-19 15:36 ` Kees Cook 2018-10-19 15:49 ` Will Deacon 2018-10-19 15:49 ` Will Deacon 2018-10-19 15:49 ` Will Deacon 2018-10-19 16:05 ` Kees Cook 2018-10-19 16:05 ` Kees Cook 2018-10-19 16:05 ` Kees Cook 2018-10-19 16:16 ` Will Deacon 2018-10-19 16:16 ` Will Deacon 2018-10-19 16:16 ` Will Deacon 2018-10-19 15:54 ` Mark Rutland 2018-10-19 15:54 ` Mark Rutland 2018-10-19 15:54 ` Mark Rutland 2018-10-19 16:49 ` Cyrill Gorcunov 2018-10-19 16:49 ` Cyrill Gorcunov 2018-10-19 16:49 ` Cyrill Gorcunov 2018-11-14 18:11 ` Will Deacon 2018-11-14 18:11 ` Will Deacon 2018-11-15 10:25 ` Dave Martin 2018-11-15 10:25 ` Dave Martin 2018-10-23 8:36 ` Ramana Radhakrishnan 2018-10-23 8:36 ` Ramana Radhakrishnan 2018-10-23 8:36 ` Ramana Radhakrishnan 2018-10-23 8:36 ` Ramana Radhakrishnan 2018-10-23 10:20 ` Will Deacon 2018-10-23 10:20 ` Will Deacon 2018-10-23 10:20 ` Will Deacon 2018-10-23 10:20 ` Will Deacon 2018-10-05 8:47 ` [PATCH v5 08/17] arm64: expose user PAC bit positions via ptrace Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 09/17] arm64: perf: strip PAC when unwinding userspace Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 10/17] arm64: enable pointer authentication Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [PATCH v5 11/17] arm64: docs: document " Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 9:04 ` Ramana Radhakrishnan 2018-10-05 9:04 ` Ramana Radhakrishnan 2018-10-05 9:04 ` Ramana Radhakrishnan 2018-10-16 16:14 ` Kristina Martsenko 2018-10-16 16:14 ` Kristina Martsenko 2018-10-16 16:14 ` Kristina Martsenko 2018-10-19 11:35 ` Catalin Marinas 2018-10-19 11:35 ` Catalin Marinas 2018-10-19 11:35 ` Catalin Marinas 2018-10-19 11:35 ` Catalin Marinas 2018-10-19 11:47 ` Marc Zyngier 2018-10-19 11:47 ` Marc Zyngier 2018-10-19 11:47 ` Marc Zyngier 2018-10-19 11:47 ` Marc Zyngier 2018-10-19 12:22 ` Will Deacon 2018-10-19 12:22 ` Will Deacon 2018-10-19 12:22 ` Will Deacon 2018-10-19 12:22 ` Will Deacon 2018-10-19 14:42 ` Kristina Martsenko 2018-10-19 14:42 ` Kristina Martsenko 2018-10-19 14:42 ` Kristina Martsenko 2018-10-19 14:42 ` Kristina Martsenko 2018-10-19 15:10 ` Catalin Marinas 2018-10-19 15:10 ` Catalin Marinas 2018-10-19 15:10 ` Catalin Marinas 2018-10-19 15:10 ` Catalin Marinas 2018-10-19 17:45 ` Will Deacon 2018-10-19 17:45 ` Will Deacon 2018-10-19 17:45 ` Will Deacon 2018-10-19 17:45 ` Will Deacon 2018-11-02 6:02 ` Jon Masters 2018-11-02 6:02 ` Jon Masters 2018-11-02 6:02 ` Jon Masters 2018-11-02 6:02 ` Jon Masters 2018-10-24 10:56 ` Ramana Radhakrishnan 2018-10-24 10:56 ` Ramana Radhakrishnan 2018-10-24 10:56 ` Ramana Radhakrishnan 2018-10-15 22:35 ` Kees Cook 2018-10-15 22:35 ` Kees Cook 2018-11-02 9:46 ` Ramana Radhakrishnan 2018-11-02 9:46 ` Ramana Radhakrishnan 2018-11-02 9:46 ` Ramana Radhakrishnan 2018-10-05 8:47 ` [RFC 12/17] arm64: move ptrauth keys to thread_info Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-19 11:38 ` Catalin Marinas 2018-10-19 11:38 ` Catalin Marinas 2018-10-05 8:47 ` Kristina Martsenko [this message] 2018-10-05 8:47 ` [RFC 13/17] arm64: install user ptrauth keys at kernel exit time Kristina Martsenko 2018-10-05 8:47 ` [RFC 14/17] arm64: unwind: strip PAC from kernel addresses Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 8:47 ` [RFC 15/17] arm64: enable ptrauth earlier Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-06 12:51 ` Amit Kachhap 2018-10-06 12:51 ` Amit Kachhap 2018-10-05 8:47 ` [RFC 16/17] arm64: initialize and switch ptrauth kernel keys Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-06 12:56 ` Amit Kachhap 2018-10-06 12:56 ` Amit Kachhap 2018-10-05 8:47 ` [RFC 17/17] arm64: compile the kernel with ptrauth -msign-return-address Kristina Martsenko 2018-10-05 8:47 ` Kristina Martsenko 2018-10-05 9:01 ` Ramana Radhakrishnan 2018-10-05 9:01 ` Ramana Radhakrishnan 2018-10-05 9:01 ` Ramana Radhakrishnan 2018-10-11 14:00 ` Kristina Martsenko 2018-10-11 14:00 ` Kristina Martsenko 2018-10-11 14:00 ` Kristina Martsenko 2018-10-11 14:23 ` Vladimir Murzin 2018-10-11 14:23 ` Vladimir Murzin 2018-10-15 22:38 ` Kees Cook 2018-10-15 22:38 ` Kees Cook 2018-10-15 22:38 ` Kees Cook 2018-10-15 22:42 ` [PATCH 00/17] ARMv8.3 pointer authentication support Kees Cook 2018-10-15 22:42 ` Kees Cook 2018-11-13 16:17 ` Kristina Martsenko 2018-11-13 16:17 ` Kristina Martsenko 2018-11-13 23:09 ` Kees Cook 2018-11-13 23:09 ` Kees Cook 2018-11-14 15:54 ` Kristina Martsenko 2018-11-14 15:54 ` Kristina Martsenko 2018-11-14 21:47 ` Mark Rutland 2018-11-14 21:47 ` Mark Rutland 2018-11-14 22:48 ` Kees Cook 2018-11-14 22:48 ` Kees Cook 2018-11-14 22:48 ` Kees Cook 2018-10-19 12:36 ` Will Deacon 2018-10-19 12:36 ` Will Deacon 2018-10-23 8:39 ` Ramana Radhakrishnan 2018-10-23 8:39 ` Ramana Radhakrishnan 2018-10-23 8:39 ` Ramana Radhakrishnan 2018-10-23 8:39 ` Ramana Radhakrishnan
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=20181005084754.20950-14-kristina.martsenko@arm.com \ --to=kristina.martsenko@arm.com \ --cc=Amit.Kachhap@arm.com \ --cc=Dave.Martin@arm.com \ --cc=ard.biesheuvel@linaro.org \ --cc=arnd@arndb.de \ --cc=awallis@codeaurora.org \ --cc=catalin.marinas@arm.com \ --cc=christoffer.dall@arm.com \ --cc=drjones@redhat.com \ --cc=jacob.bramley@arm.com \ --cc=keescook@chromium.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=mark.rutland@arm.com \ --cc=ramana.radhakrishnan@arm.com \ --cc=suzuki.poulose@arm.com \ --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: linkBe 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.