[xen staging] retpoline: disable jump tables

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[xen staging] retpoline: disable jump tables

commit 2276da0db9b0f111e1a8f41dd707c6bd1dea9a7d
Author:     Norbert Manthey <[hidden email]>
AuthorDate: Wed Nov 21 10:52:05 2018 +0100
Commit:     Jan Beulich <[hidden email]>
CommitDate: Wed Nov 21 10:52:05 2018 +0100

    retpoline: disable jump tables
    To mitigate Spectre v2, Xen has been fixed with a software fix, namely
    using retpoline sequences generated by the compiler. This way, indirect
    branches are protected against the attack.
    However, the retpoline sequence comes with a slow down. To make up for
    this, we propose to avoid jump tables in the first place. Without the
    retpoline sequences, this code would be less efficient. However, when
    retpoline is enabled, this actually results in a slight performance
    This change might become irrelevant once the compiler starts avoiding
    jump tables in case retpolines are used:
    Reported-by: Julian Stecklina <[hidden email]>
    Reported-by: Pawel Wieczorkiewicz <[hidden email]>
    Signed-off-by: Norbert Manthey <[hidden email]>
    Acked-by: Jan Beulich <[hidden email]>
 xen/arch/x86/Rules.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index cc301cdc5b..3f2687bbe4 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -48,6 +48,7 @@ endif
 ifneq ($(call cc-option,$(CC),-mindirect-branch-register,n),n)
 CFLAGS += -mindirect-branch=thunk-extern -mindirect-branch-register
+CFLAGS += -fno-jump-tables
generated by git-patchbot for /home/xen/git/xen.git#staging

Xen-changelog mailing list
[hidden email]