Loading Documentation/admin-guide/kernel-parameters.txt +54 −2 Original line number Diff line number Diff line Loading @@ -4003,9 +4003,13 @@ spectre_v2= [X86] Control mitigation of Spectre variant 2 (indirect branch speculation) vulnerability. The default operation protects the kernel from user space attacks. on - unconditionally enable off - unconditionally disable on - unconditionally enable, implies spectre_v2_user=on off - unconditionally disable, implies spectre_v2_user=off auto - kernel detects whether your CPU model is vulnerable Loading @@ -4015,6 +4019,12 @@ CONFIG_RETPOLINE configuration option, and the compiler with which the kernel was built. Selecting 'on' will also enable the mitigation against user space to user space task attacks. Selecting 'off' will disable both the kernel and the user space protections. Specific mitigations can also be selected manually: retpoline - replace indirect branches Loading @@ -4024,6 +4034,48 @@ Not specifying this option is equivalent to spectre_v2=auto. spectre_v2_user= [X86] Control mitigation of Spectre variant 2 (indirect branch speculation) vulnerability between user space tasks on - Unconditionally enable mitigations. Is enforced by spectre_v2=on off - Unconditionally disable mitigations. Is enforced by spectre_v2=off prctl - Indirect branch speculation is enabled, but mitigation can be enabled via prctl per thread. The mitigation control state is inherited on fork. prctl,ibpb - Like "prctl" above, but only STIBP is controlled per thread. IBPB is issued always when switching between different user space processes. seccomp - Same as "prctl" above, but all seccomp threads will enable the mitigation unless they explicitly opt out. seccomp,ibpb - Like "seccomp" above, but only STIBP is controlled per thread. IBPB is issued always when switching between different user space processes. auto - Kernel selects the mitigation depending on the available CPU features and vulnerability. Default mitigation: If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl" Not specifying this option is equivalent to spectre_v2_user=auto. spec_store_bypass_disable= [HW] Control Speculative Store Bypass (SSB) Disable mitigation (Speculative Store Bypass vulnerability) Loading Documentation/userspace-api/spec_ctrl.rst +9 −0 Original line number Diff line number Diff line Loading @@ -92,3 +92,12 @@ Speculation misfeature controls * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_ENABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_FORCE_DISABLE, 0, 0); - PR_SPEC_INDIR_BRANCH: Indirect Branch Speculation in User Processes (Mitigate Spectre V2 style attacks against user processes) Invocations: * prctl(PR_GET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, 0, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_ENABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_DISABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_FORCE_DISABLE, 0, 0); Makefile +4 −1 Original line number Diff line number Diff line # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 14 SUBLEVEL = 85 SUBLEVEL = 87 EXTRAVERSION = NAME = Petit Gorille Loading Loading @@ -897,6 +897,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) # disable pointer signed / unsigned warnings in gcc 4.0 KBUILD_CFLAGS += $(call cc-disable-warning, pointer-sign) # disable stringop warnings in gcc 8+ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation) # disable invalid "can't wrap" optimizations for signed / pointers KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow) Loading arch/arc/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ endmenu choice prompt "ARC Instruction Set" default ISA_ARCOMPACT default ISA_ARCV2 config ISA_ARCOMPACT bool "ARCompact ISA" Loading arch/arc/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ # published by the Free Software Foundation. # KBUILD_DEFCONFIG := nsim_700_defconfig KBUILD_DEFCONFIG := nsim_hs_defconfig cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__ cflags-$(CONFIG_ISA_ARCOMPACT) += -mA7 Loading Loading
Documentation/admin-guide/kernel-parameters.txt +54 −2 Original line number Diff line number Diff line Loading @@ -4003,9 +4003,13 @@ spectre_v2= [X86] Control mitigation of Spectre variant 2 (indirect branch speculation) vulnerability. The default operation protects the kernel from user space attacks. on - unconditionally enable off - unconditionally disable on - unconditionally enable, implies spectre_v2_user=on off - unconditionally disable, implies spectre_v2_user=off auto - kernel detects whether your CPU model is vulnerable Loading @@ -4015,6 +4019,12 @@ CONFIG_RETPOLINE configuration option, and the compiler with which the kernel was built. Selecting 'on' will also enable the mitigation against user space to user space task attacks. Selecting 'off' will disable both the kernel and the user space protections. Specific mitigations can also be selected manually: retpoline - replace indirect branches Loading @@ -4024,6 +4034,48 @@ Not specifying this option is equivalent to spectre_v2=auto. spectre_v2_user= [X86] Control mitigation of Spectre variant 2 (indirect branch speculation) vulnerability between user space tasks on - Unconditionally enable mitigations. Is enforced by spectre_v2=on off - Unconditionally disable mitigations. Is enforced by spectre_v2=off prctl - Indirect branch speculation is enabled, but mitigation can be enabled via prctl per thread. The mitigation control state is inherited on fork. prctl,ibpb - Like "prctl" above, but only STIBP is controlled per thread. IBPB is issued always when switching between different user space processes. seccomp - Same as "prctl" above, but all seccomp threads will enable the mitigation unless they explicitly opt out. seccomp,ibpb - Like "seccomp" above, but only STIBP is controlled per thread. IBPB is issued always when switching between different user space processes. auto - Kernel selects the mitigation depending on the available CPU features and vulnerability. Default mitigation: If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl" Not specifying this option is equivalent to spectre_v2_user=auto. spec_store_bypass_disable= [HW] Control Speculative Store Bypass (SSB) Disable mitigation (Speculative Store Bypass vulnerability) Loading
Documentation/userspace-api/spec_ctrl.rst +9 −0 Original line number Diff line number Diff line Loading @@ -92,3 +92,12 @@ Speculation misfeature controls * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_ENABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_FORCE_DISABLE, 0, 0); - PR_SPEC_INDIR_BRANCH: Indirect Branch Speculation in User Processes (Mitigate Spectre V2 style attacks against user processes) Invocations: * prctl(PR_GET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, 0, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_ENABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_DISABLE, 0, 0); * prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_FORCE_DISABLE, 0, 0);
Makefile +4 −1 Original line number Diff line number Diff line # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 14 SUBLEVEL = 85 SUBLEVEL = 87 EXTRAVERSION = NAME = Petit Gorille Loading Loading @@ -897,6 +897,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) # disable pointer signed / unsigned warnings in gcc 4.0 KBUILD_CFLAGS += $(call cc-disable-warning, pointer-sign) # disable stringop warnings in gcc 8+ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation) # disable invalid "can't wrap" optimizations for signed / pointers KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow) Loading
arch/arc/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ endmenu choice prompt "ARC Instruction Set" default ISA_ARCOMPACT default ISA_ARCV2 config ISA_ARCOMPACT bool "ARCompact ISA" Loading
arch/arc/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ # published by the Free Software Foundation. # KBUILD_DEFCONFIG := nsim_700_defconfig KBUILD_DEFCONFIG := nsim_hs_defconfig cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__ cflags-$(CONFIG_ISA_ARCOMPACT) += -mA7 Loading