You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2090231
CVE: CVE-2022-23816
CVE: CVE-2022-23825
CVE: CVE-2022-29900
CVE: CVE-2022-29901
Conflicts:
1) Merge conflict in the add_jump_destinations() hunk of
tools/objtool/check.c due to missing upstream commit 34c861e
("objtool: Fix sibling call detection in alternatives") and commit
26ff604 ("objtool: Don't set 'jump_dest' for sibling calls").
2) Merge conflicts in arch/x86/entry/entry_64.S and
arch/x86/entry/entry_64_compat.S due to missing upstream commit
e8d61bd ("x86/ibt,sev: Annotations").
3) Merge conflict in the __x86_return_thunk hunk of
arch/x86/lib/retpoline.S due to missing upstream commit c8c301a
("x86/ibt: Add ANNOTATE_NOENDBR").
commit a149180
Author: Peter Zijlstra <peterz@infradead.org>
Date: Tue, 14 Jun 2022 23:15:48 +0200
x86: Add magic AMD return-thunk
Note: needs to be in a section distinct from Retpolines such that the
Retpoline RET substitution cannot possibly use immediate jumps.
ORC unwinding for zen_untrain_ret() and __x86_return_thunk() is a
little tricky but works due to the fact that zen_untrain_ret() doesn't
have any stack ops and as such will emit a single ORC entry at the
start (+0x3f).
Meanwhile, unwinding an IP, including the __x86_return_thunk() one
(+0x40) will search for the largest ORC entry smaller or equal to the
IP, these will find the one ORC entry (+0x3f) and all works.
[ Alexandre: SVM part. ]
[ bp: Build fix, massages. ]
Suggested-by: Andrew Cooper <Andrew.Cooper3@citrix.com>
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>
Signed-off-by: Waiman Long <longman@redhat.com>
0 commit comments