From: Will Deacon <will@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Cc: Kees Cook <keescook@chromium.org>,
Peter Zijlstra <peterz@infradead.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Masahiro Yamada <masahiroy@kernel.org>,
linux-kernel@vger.kernel.org,
Sami Tolvanen <samitolvanen@google.com>,
Will Deacon <will@kernel.org>
Subject: [PATCH v4 0/4] Upgrade READ_ONCE() to RCpc acquire on arm64 with LTO
Date: Tue, 3 Nov 2020 12:17:17 +0000 [thread overview]
Message-ID: <20201103121721.5166-1-will@kernel.org> (raw)
Hi all,
These patches were previously posted as part of a larger series enabling
architectures to override __READ_ONCE():
v3: https://lore.kernel.org/lkml/20200710165203.31284-1-will@kernel.org/
With the bulk of that merged, the four patches here override READ_ONCE()
so that it gains RCpc acquire semantics on arm64 when LTO is enabled. We
can revisit this as and when the compiler provides a means for us to reason
about the result of dependency-breaking optimisations. In the meantime,
this unblocks LTO for arm64, which I would really like to see merged so
that we can focus on enabling CFI.
I plan to queue these on their own branch in the arm64 tree for 5.11 at
-rc3.
Cheers,
Will
Cc: Kees Cook <keescook@chromium.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org
--->8
Will Deacon (4):
arm64: alternatives: Split up alternative.h
arm64: cpufeatures: Add capability for LDAPR instruction
arm64: alternatives: Remove READ_ONCE() usage during patch operation
arm64: lto: Strengthen READ_ONCE() to acquire when CONFIG_LTO=y
arch/arm64/Kconfig | 3 +
arch/arm64/include/asm/alternative-macros.h | 276 ++++++++++++++++++++
arch/arm64/include/asm/alternative.h | 267 +------------------
arch/arm64/include/asm/cpucaps.h | 3 +-
arch/arm64/include/asm/insn.h | 3 +-
arch/arm64/include/asm/rwonce.h | 63 +++++
arch/arm64/kernel/alternative.c | 7 +-
arch/arm64/kernel/cpufeature.c | 10 +
arch/arm64/kernel/vdso/Makefile | 2 +-
arch/arm64/kernel/vdso32/Makefile | 2 +-
arch/arm64/kernel/vmlinux.lds.S | 2 +-
11 files changed, 364 insertions(+), 274 deletions(-)
create mode 100644 arch/arm64/include/asm/alternative-macros.h
create mode 100644 arch/arm64/include/asm/rwonce.h
--
2.29.1.341.ge80a0c044ae-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Will Deacon <will@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Cc: Will Deacon <will@kernel.org>, Kees Cook <keescook@chromium.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Sami Tolvanen <samitolvanen@google.com>,
Masahiro Yamada <masahiroy@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH v4 0/4] Upgrade READ_ONCE() to RCpc acquire on arm64 with LTO
Date: Tue, 3 Nov 2020 12:17:17 +0000 [thread overview]
Message-ID: <20201103121721.5166-1-will@kernel.org> (raw)
Hi all,
These patches were previously posted as part of a larger series enabling
architectures to override __READ_ONCE():
v3: https://lore.kernel.org/lkml/20200710165203.31284-1-will@kernel.org/
With the bulk of that merged, the four patches here override READ_ONCE()
so that it gains RCpc acquire semantics on arm64 when LTO is enabled. We
can revisit this as and when the compiler provides a means for us to reason
about the result of dependency-breaking optimisations. In the meantime,
this unblocks LTO for arm64, which I would really like to see merged so
that we can focus on enabling CFI.
I plan to queue these on their own branch in the arm64 tree for 5.11 at
-rc3.
Cheers,
Will
Cc: Kees Cook <keescook@chromium.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org
--->8
Will Deacon (4):
arm64: alternatives: Split up alternative.h
arm64: cpufeatures: Add capability for LDAPR instruction
arm64: alternatives: Remove READ_ONCE() usage during patch operation
arm64: lto: Strengthen READ_ONCE() to acquire when CONFIG_LTO=y
arch/arm64/Kconfig | 3 +
arch/arm64/include/asm/alternative-macros.h | 276 ++++++++++++++++++++
arch/arm64/include/asm/alternative.h | 267 +------------------
arch/arm64/include/asm/cpucaps.h | 3 +-
arch/arm64/include/asm/insn.h | 3 +-
arch/arm64/include/asm/rwonce.h | 63 +++++
arch/arm64/kernel/alternative.c | 7 +-
arch/arm64/kernel/cpufeature.c | 10 +
arch/arm64/kernel/vdso/Makefile | 2 +-
arch/arm64/kernel/vdso32/Makefile | 2 +-
arch/arm64/kernel/vmlinux.lds.S | 2 +-
11 files changed, 364 insertions(+), 274 deletions(-)
create mode 100644 arch/arm64/include/asm/alternative-macros.h
create mode 100644 arch/arm64/include/asm/rwonce.h
--
2.29.1.341.ge80a0c044ae-goog
next reply other threads:[~2020-11-03 12:19 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-03 12:17 Will Deacon [this message]
2020-11-03 12:17 ` [PATCH v4 0/4] Upgrade READ_ONCE() to RCpc acquire on arm64 with LTO Will Deacon
2020-11-03 12:17 ` [PATCH v4 1/4] arm64: alternatives: Split up alternative.h Will Deacon
2020-11-03 12:17 ` Will Deacon
2020-11-03 12:40 ` Mark Rutland
2020-11-03 12:40 ` Mark Rutland
2020-11-03 12:42 ` Will Deacon
2020-11-03 12:42 ` Will Deacon
2020-11-03 12:17 ` [PATCH v4 2/4] arm64: cpufeatures: Add capability for LDAPR instruction Will Deacon
2020-11-03 12:17 ` Will Deacon
2020-11-03 12:44 ` Mark Rutland
2020-11-03 12:44 ` Mark Rutland
2020-11-03 12:17 ` [PATCH v4 3/4] arm64: alternatives: Remove READ_ONCE() usage during patch operation Will Deacon
2020-11-03 12:17 ` Will Deacon
2020-11-03 12:46 ` Mark Rutland
2020-11-03 12:46 ` Mark Rutland
2020-11-03 12:17 ` [PATCH v4 4/4] arm64: lto: Strengthen READ_ONCE() to acquire when CONFIG_LTO=y Will Deacon
2020-11-03 12:17 ` Will Deacon
2020-11-03 12:58 ` Mark Rutland
2020-11-03 12:58 ` Mark Rutland
2020-11-03 13:13 ` Will Deacon
2020-11-03 13:13 ` Will Deacon
2020-11-09 23:25 ` [PATCH v4 0/4] Upgrade READ_ONCE() to RCpc acquire on arm64 with LTO Will Deacon
2020-11-09 23:25 ` Will Deacon
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=20201103121721.5166-1-will@kernel.org \
--to=will@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=keescook@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=peterz@infradead.org \
--cc=samitolvanen@google.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 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.