summaryrefslogtreecommitdiffstats
path: root/debian/patches/bugfix/x86/retbleed/0015-x86-entry-Avoid-very-early-RET.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/bugfix/x86/retbleed/0015-x86-entry-Avoid-very-early-RET.patch')
-rw-r--r--debian/patches/bugfix/x86/retbleed/0015-x86-entry-Avoid-very-early-RET.patch59
1 files changed, 0 insertions, 59 deletions
diff --git a/debian/patches/bugfix/x86/retbleed/0015-x86-entry-Avoid-very-early-RET.patch b/debian/patches/bugfix/x86/retbleed/0015-x86-entry-Avoid-very-early-RET.patch
deleted file mode 100644
index 71935dd77..000000000
--- a/debian/patches/bugfix/x86/retbleed/0015-x86-entry-Avoid-very-early-RET.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Peter Zijlstra <peterz@infradead.org>
-Date: Tue, 14 Jun 2022 23:15:46 +0200
-Subject: x86/entry: Avoid very early RET
-Origin: https://git.kernel.org/linus/7c81c0c9210c9bfab2bae76aab2999de5bad27db
-
-Commit
-
- ee774dac0da1 ("x86/entry: Move PUSH_AND_CLEAR_REGS out of error_entry()")
-
-manages to introduce a CALL/RET pair that is before SWITCH_TO_KERNEL_CR3,
-which means it is before RETBleed can be mitigated.
-
-Revert to an earlier version of the commit in Fixes. Down side is that
-this will bloat .text size somewhat. The alternative is fully reverting
-it.
-
-The purpose of this patch was to allow migrating error_entry() to C,
-including the whole of kPTI. Much care needs to be taken moving that
-forward to not re-introduce this problem of early RETs.
-
-Fixes: ee774dac0da1 ("x86/entry: Move PUSH_AND_CLEAR_REGS out of error_entry()")
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
-Signed-off-by: Borislav Petkov <bp@suse.de>
----
- arch/x86/entry/entry_64.S | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
-index 4300ba49b5ee..9f5d6a4f293e 100644
---- a/arch/x86/entry/entry_64.S
-+++ b/arch/x86/entry/entry_64.S
-@@ -322,14 +322,6 @@ SYM_CODE_END(ret_from_fork)
- #endif
- .endm
-
--/* Save all registers in pt_regs */
--SYM_CODE_START_LOCAL(push_and_clear_regs)
-- UNWIND_HINT_FUNC
-- PUSH_AND_CLEAR_REGS save_ret=1
-- ENCODE_FRAME_POINTER 8
-- RET
--SYM_CODE_END(push_and_clear_regs)
--
- /**
- * idtentry_body - Macro to emit code calling the C function
- * @cfunc: C function to be called
-@@ -337,8 +329,8 @@ SYM_CODE_END(push_and_clear_regs)
- */
- .macro idtentry_body cfunc has_error_code:req
-
-- call push_and_clear_regs
-- UNWIND_HINT_REGS
-+ PUSH_AND_CLEAR_REGS
-+ ENCODE_FRAME_POINTER
-
- /*
- * Call error_entry() and switch to the task stack if from userspace.