@@ -188,32 +188,32 @@ SYM_CODE_END(srso_alias_return_thunk)
188188
189189/*
190190 * Safety details here pertain to the AMD Zen{1,2} microarchitecture:
191- * 1) The RET at zen_return_thunk must be on a 64 byte boundary, for
191+ * 1) The RET at retbleed_return_thunk must be on a 64 byte boundary, for
192192 * alignment within the BTB.
193- * 2) The instruction at zen_untrain_ret must contain, and not
193+ * 2) The instruction at retbleed_untrain_ret must contain, and not
194194 * end with, the 0xc3 byte of the RET.
195195 * 3) STIBP must be enabled, or SMT disabled, to prevent the sibling thread
196196 * from re-poisioning the BTB prediction.
197197 */
198198 .align 64
199- .skip 64 - (zen_return_thunk - zen_untrain_ret ), 0xcc
200- SYM_START(zen_untrain_ret , SYM_L_GLOBAL, SYM_A_NONE)
199+ .skip 64 - (retbleed_return_thunk - retbleed_untrain_ret ), 0xcc
200+ SYM_START(retbleed_untrain_ret , SYM_L_GLOBAL, SYM_A_NONE)
201201 ANNOTATE_NOENDBR
202202 /*
203- * As executed from zen_untrain_ret , this is:
203+ * As executed from retbleed_untrain_ret , this is:
204204 *
205205 * TEST $0xcc, %bl
206206 * LFENCE
207- * JMP zen_return_thunk
207+ * JMP retbleed_return_thunk
208208 *
209209 * Executing the TEST instruction has a side effect of evicting any BTB
210210 * prediction (potentially attacker controlled) attached to the RET, as
211- * zen_return_thunk + 1 isn't an instruction boundary at the moment.
211+ * retbleed_return_thunk + 1 isn't an instruction boundary at the moment.
212212 */
213213 .byte 0xf6
214214
215215 /*
216- * As executed from zen_return_thunk , this is a plain RET.
216+ * As executed from retbleed_return_thunk , this is a plain RET.
217217 *
218218 * As part of the TEST above, RET is the ModRM byte, and INT3 the imm8.
219219 *
@@ -225,13 +225,13 @@ SYM_START(zen_untrain_ret, SYM_L_GLOBAL, SYM_A_NONE)
225225 * With SMT enabled and STIBP active, a sibling thread cannot poison
226226 * RET's prediction to a type of its choice, but can evict the
227227 * prediction due to competitive sharing. If the prediction is
228- * evicted, zen_return_thunk will suffer Straight Line Speculation
228+ * evicted, retbleed_return_thunk will suffer Straight Line Speculation
229229 * which will be contained safely by the INT3.
230230 */
231- SYM_INNER_LABEL(zen_return_thunk , SYM_L_GLOBAL)
231+ SYM_INNER_LABEL(retbleed_return_thunk , SYM_L_GLOBAL)
232232 ret
233233 int3
234- SYM_CODE_END(zen_return_thunk )
234+ SYM_CODE_END(retbleed_return_thunk )
235235
236236 /*
237237 * Ensure the TEST decoding / BTB invalidation is complete.
@@ -242,13 +242,13 @@ SYM_CODE_END(zen_return_thunk)
242242 * Jump back and execute the RET in the middle of the TEST instruction.
243243 * INT3 is for SLS protection.
244244 */
245- jmp zen_return_thunk
245+ jmp retbleed_return_thunk
246246 int3
247- SYM_FUNC_END(zen_untrain_ret )
248- __EXPORT_THUNK(zen_untrain_ret )
247+ SYM_FUNC_END(retbleed_untrain_ret )
248+ __EXPORT_THUNK(retbleed_untrain_ret )
249249
250250/*
251- * SRSO untraining sequence for Zen1/2, similar to zen_untrain_ret ()
251+ * SRSO untraining sequence for Zen1/2, similar to retbleed_untrain_ret ()
252252 * above. On kernel entry, srso_untrain_ret() is executed which is a
253253 *
254254 * movabs $0xccccc30824648d48,%rax
0 commit comments