Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change ambiguous statement in cfi section #1642

Merged
merged 2 commits into from
Sep 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions src/unpriv-cfi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ instruction where `rs1` is not `x1` or `x5` (i.e., not a return) is an
_indirect-jump_.

The Zicfiss and Zicfilp extensions build on these conventions and hints and
provide backward-edge and forward-edge control flow integrity respectively.
provide backward-edge and forward-edge control flow integrity respectively.

The Unprivileged ISA for Zicfilp extension is specified in <<unpriv-forward>>
and for the Unprivileged ISA for Zicfiss extension is specified in
Expand Down Expand Up @@ -337,15 +337,15 @@ the shadow stack are compared. A mismatch of the two values is indicative of a
subversion of the return address control variable and causes a software-check
exception.

The Zicfiss instructions are encoded using a subset of May-Be-Operation
instructions defined by the Zimop and Zcmop extensions. This subset
of instructions revert to their Zimop/Zcmop defined behavior when the Zicfiss
extension is not implemented or if the extension has not been activated. A
program that is built with Zicfiss instructions can thus continue to operate
correctly, but without backward-edge control-flow integrity, on processors that
do not support the Zicfiss extension or if the Zicfiss extension is not active.
The Zicfiss extension may be activated for use individually and independently
for each privilege mode.
The Zicfiss instructions, except `SSAMOSWAP.W/D`, are encoded using a subset of
May-Be-Operation instructions defined by the Zimop and Zcmop extensions.
This subset of instructions revert to their Zimop/Zcmop defined behavior when
the Zicfiss extension is not implemented or if the extension has not been
activated. A program that is built with Zicfiss instructions can thus continue
to operate correctly, but without backward-edge control-flow integrity, on
processors that do not support the Zicfiss extension or if the Zicfiss extension
is not active. The Zicfiss extension may be activated for use individually and
independently for each privilege mode.

Compilers should flag each object file (for example, using flags in the ELF
attributes) to indicate if the object file has been compiled with the Zicfiss
Expand Down
Loading