2023-12-13 13:43:40

by Dimitri John Ledkov

[permalink] [raw]
Subject: [PATCH v2 3/3] objtool: make objtool RETPOLINE validation fatal when building with CONFIG_RETPOLINE=y

Make objtool RETPOLINE validation fatal when building with
CONFIG_RETPOLINE=y, currently it is a build.log warning only.

This is a standalone patch, such that if regressions are identified
(with any config or toolchain configuration) it can be reverted until
relevant identified code is fixed up or otherwise
ignored/silecned/marked as safe.

Signed-off-by: Dimitri John Ledkov <[email protected]>
---
tools/objtool/check.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 9709f037f1..c21258e109 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -3991,7 +3991,10 @@ static int validate_retpoline(struct objtool_file *file)
warnings++;
}

- return warnings;
+ /* RETPOLINE is an optional security safety feature, make it
+ * fatal to ensure no new code is introduced that fails
+ * RETPOLINE */
+ return -warnings;
}

static bool is_kasan_insn(struct instruction *insn)
--
2.34.1