Commit cb81dee
x86/idle: Sanitize X86_BUG_AMD_E400 handling
amd_e400_idle(), the idle routine for AMD CPUs which are affected by
erratum 400 violates the RCU constraints by invoking tick_broadcast_enter()
and tick_broadcast_exit() after the core code has marked RCU non-idle. The
functions can end up in lockdep or tracing, which rightfully triggers a
RCU warning.
The core code provides now a static branch conditional invocation of the
broadcast functions.
Remove amd_e400_idle(), enforce default_idle() and enable the static branch
on affected CPUs to cure this.
[ bp: Fold in a fix for a IS_ENABLED() check fail missing a "CONFIG_"
prefix which tglx spotted. ]
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/877cim6sis.ffs@tglx1 parent 2be2a19 commit cb81dee
2 files changed
+10
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| 150 | + | |
150 | 151 | | |
151 | 152 | | |
152 | 153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
845 | 845 | | |
846 | 846 | | |
847 | 847 | | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
866 | | - | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | 848 | | |
874 | 849 | | |
875 | 850 | | |
| |||
890 | 865 | | |
891 | 866 | | |
892 | 867 | | |
893 | | - | |
894 | | - | |
| 868 | + | |
| 869 | + | |
895 | 870 | | |
896 | 871 | | |
897 | 872 | | |
| |||
942 | 917 | | |
943 | 918 | | |
944 | 919 | | |
945 | | - | |
946 | | - | |
947 | | - | |
948 | | - | |
| 920 | + | |
949 | 921 | | |
950 | 922 | | |
951 | 923 | | |
952 | 924 | | |
953 | 925 | | |
954 | | - | |
| 926 | + | |
955 | 927 | | |
| 928 | + | |
956 | 929 | | |
957 | 930 | | |
958 | 931 | | |
| |||
985 | 958 | | |
986 | 959 | | |
987 | 960 | | |
988 | | - | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
989 | 965 | | |
990 | 966 | | |
991 | 967 | | |
| |||
0 commit comments