From c0509cdff3b71020a3b5c15cd2b68ee8bffde89c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Linar=C3=A8s?= <61777902+kacouane@users.noreply.github.com> Date: Thu, 19 Sep 2024 13:26:59 +0200 Subject: [PATCH 1/2] change ambiguous statement --- src/unpriv-cfi.adoc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/unpriv-cfi.adoc b/src/unpriv-cfi.adoc index ed17e74e..59337104 100644 --- a/src/unpriv-cfi.adoc +++ b/src/unpriv-cfi.adoc @@ -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 <> and for the Unprivileged ISA for Zicfiss extension is specified in @@ -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 Pop, Push and, Read 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 From dbcfbdc90575613055dedd077789c8545efe182d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Linar=C3=A8s?= <61777902+kacouane@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:38:30 +0200 Subject: [PATCH 2/2] Update src/unpriv-cfi.adoc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ved Shanbhogue <91900059+ved-rivos@users.noreply.github.com> Signed-off-by: Antoine Linarès <61777902+kacouane@users.noreply.github.com> --- src/unpriv-cfi.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unpriv-cfi.adoc b/src/unpriv-cfi.adoc index 59337104..00b5fcba 100644 --- a/src/unpriv-cfi.adoc +++ b/src/unpriv-cfi.adoc @@ -337,7 +337,7 @@ 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 Pop, Push and, Read are encoded using a subset of +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