From: Peter Collingbourne <pcc@google.com>
To: Catalin Marinas <catalin.marinas@arm.com>,
Evgenii Stepanov <eugenis@google.com>,
Kostya Serebryany <kcc@google.com>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Dave Martin <Dave.Martin@arm.com>, Will Deacon <will@kernel.org>,
Oleg Nesterov <oleg@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andrey Konovalov <andreyknvl@google.com>,
Kevin Brodsky <kevin.brodsky@arm.com>,
Peter Collingbourne <pcc@google.com>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Richard Henderson <rth@twiddle.net>
Subject: [PATCH v6 0/3] arm64: Expose FAR_EL1 tag bits in sigcontext
Date: Wed, 20 May 2020 19:29:40 -0700 [thread overview]
Message-ID: <20200521022943.195898-1-pcc@google.com> (raw)
In-Reply-To: <CAMn1gO7VWBcbMvqNeyBdfpO71kfhrZbHwkOC0JeSX13_HUMmWA@mail.gmail.com>
The kernel currently clears the tag bits (i.e. bits 56-63) in the fault
address exposed via siginfo.si_addr and sigcontext.fault_address. However,
the tag bits may be needed by tools in order to accurately diagnose
memory errors, such as HWASan [1] or future tools based on the Memory
Tagging Extension (MTE).
We should not stop clearing these bits in the existing fault address fields,
because there may be existing userspace applications that are expecting the tag
bits to be cleared. Instead, create a fault_addr_top_byte_context in sigcontext
(similar to the existing esr_context), and store the tag bits of FAR_EL1 there.
[1] http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html
Peter Collingbourne (3):
signal: Allow architectures to store arch-specific data in
kernel_siginfo
arm64: Move fault address and fault code into kernel_siginfo
arm64: Expose FAR_EL1 tag bits in sigcontext
Documentation/arm64/tagged-pointers.rst | 17 ++--
arch/arm64/include/asm/exception.h | 2 +-
arch/arm64/include/asm/processor.h | 2 -
arch/arm64/include/asm/signal.h | 19 ++++
arch/arm64/include/asm/traps.h | 8 +-
arch/arm64/include/uapi/asm/sigcontext.h | 24 +++--
arch/arm64/kernel/debug-monitors.c | 4 +-
arch/arm64/kernel/entry-common.c | 2 -
arch/arm64/kernel/probes/uprobes.c | 18 ++--
arch/arm64/kernel/ptrace.c | 2 +-
arch/arm64/kernel/signal.c | 42 ++++++--
arch/arm64/kernel/signal32.c | 15 ++-
arch/arm64/kernel/sys_compat.c | 9 +-
arch/arm64/kernel/traps.c | 121 +++++++++++++++++++----
arch/arm64/mm/fault.c | 111 ++++++---------------
include/linux/signal.h | 2 -
include/linux/signal_types.h | 3 +
kernel/signal.c | 17 +++-
18 files changed, 259 insertions(+), 159 deletions(-)
create mode 100644 arch/arm64/include/asm/signal.h
--
2.26.2.761.g0e0b3e54be-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-05-21 2:30 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-12 17:17 [PATCH] arm64: Expose original FAR_EL1 value in sigcontext Peter Collingbourne
2020-03-25 13:10 ` Catalin Marinas
2020-03-25 17:41 ` Peter Collingbourne
2020-03-25 17:40 ` [PATCH v2] " Peter Collingbourne
2020-03-26 16:45 ` Catalin Marinas
2020-03-27 7:56 ` Will Deacon
2020-03-27 11:39 ` Catalin Marinas
2020-03-27 19:26 ` Peter Collingbourne
2020-03-27 19:19 ` [PATCH v3] " Peter Collingbourne
2020-04-22 14:25 ` Catalin Marinas
2020-04-29 21:08 ` Will Deacon
2020-04-29 21:42 ` Peter Collingbourne
2020-05-04 17:03 ` Will Deacon
2020-05-07 17:57 ` [PATCH v4] arm64: Expose FAR_EL1 tag bits " Peter Collingbourne
2020-05-08 2:01 ` [PATCH v5] " Peter Collingbourne
2020-05-12 16:25 ` Catalin Marinas
2020-05-13 18:09 ` [PATCH v6] " Peter Collingbourne
2020-05-13 20:28 ` Dave Martin
2020-05-15 0:58 ` Peter Collingbourne
2020-05-18 9:53 ` Dave Martin
2020-05-19 22:00 ` Peter Collingbourne
2020-05-20 8:55 ` Will Deacon
2020-05-20 9:26 ` Dave Martin
2020-05-21 2:28 ` Peter Collingbourne
2020-05-21 2:29 ` Peter Collingbourne [this message]
2020-05-21 2:29 ` [PATCH v6 1/3] signal: Allow architectures to store arch-specific data in kernel_siginfo Peter Collingbourne
2020-05-21 2:29 ` [PATCH v6 2/3] arm64: Move fault address and fault code into kernel_siginfo Peter Collingbourne
2020-05-21 13:34 ` kbuild test robot
2020-05-21 2:29 ` [PATCH v6 3/3] arm64: Expose FAR_EL1 tag bits in sigcontext Peter Collingbourne
2020-05-21 12:35 ` [PATCH v6] " Eric W. Biederman
2020-05-21 18:03 ` Peter Collingbourne
2020-05-21 19:24 ` Eric W. Biederman
2020-05-21 20:48 ` Peter Collingbourne
2020-06-08 18:12 ` Peter Collingbourne
2020-06-08 18:14 ` [PATCH v7] arm64: Expose FAR_EL1 tag bits in siginfo Peter Collingbourne
[not found] ` <20200623020134.16655-1-pcc@google.com>
[not found] ` <87sgemrlgc.fsf@x220.int.ebiederm.org>
2020-06-23 14:38 ` [PATCH v8] " Dave Martin
2020-06-23 17:47 ` Eric W. Biederman
2020-06-24 0:40 ` Peter Collingbourne
2020-06-24 9:28 ` Dave Martin
2020-06-24 16:51 ` Peter Collingbourne
2020-06-24 17:12 ` Dave Martin
2020-06-24 19:51 ` Peter Collingbourne
2020-07-06 16:41 ` Dave Martin
2020-07-06 19:20 ` Peter Collingbourne
2020-07-07 14:19 ` Dave Martin
2020-07-07 19:07 ` Peter Collingbourne
2020-07-08 11:00 ` Dave Martin
2020-07-08 13:58 ` Dave Martin
2020-07-08 22:21 ` Peter Collingbourne
2020-07-13 13:24 ` Dave Martin
2020-07-13 20:50 ` Peter Collingbourne
2020-07-14 17:36 ` Dave Martin
2020-08-18 3:16 ` Peter Collingbourne
2020-08-18 13:50 ` Dave Martin
2020-06-23 14:57 ` Dave Martin
2020-05-26 13:03 ` [PATCH v6] arm64: Expose FAR_EL1 tag bits in sigcontext Dave Martin
2020-04-30 9:50 ` [PATCH v3] arm64: Expose original FAR_EL1 value " Catalin Marinas
2020-04-30 9:59 ` Will Deacon
2020-04-30 13:34 ` Catalin Marinas
2020-05-04 10:19 ` Dave Martin
2020-05-07 17:55 ` Peter Collingbourne
2020-05-13 17:27 ` Dave Martin
2020-05-13 18:00 ` Peter Collingbourne
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=20200521022943.195898-1-pcc@google.com \
--to=pcc@google.com \
--cc=Dave.Martin@arm.com \
--cc=andreyknvl@google.com \
--cc=catalin.marinas@arm.com \
--cc=ebiederm@xmission.com \
--cc=eugenis@google.com \
--cc=kcc@google.com \
--cc=kevin.brodsky@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=oleg@redhat.com \
--cc=rth@twiddle.net \
--cc=vincenzo.frascino@arm.com \
--cc=will@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;
as well as URLs for NNTP newsgroup(s).