summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ibt_selftest.S
blob: c43c4ed28a9cc369dc45e1122d73345e1661236b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/linkage.h>
#include <linux/objtool.h>
#include <asm/nospec-branch.h>

SYM_CODE_START(ibt_selftest_noendbr)
	ANNOTATE_NOENDBR
	UNWIND_HINT_FUNC
	/* #CP handler sets %ax to 0 */
	RET
SYM_CODE_END(ibt_selftest_noendbr)

SYM_FUNC_START(ibt_selftest)
	lea ibt_selftest_noendbr(%rip), %rax
	ANNOTATE_RETPOLINE_SAFE
	jmp *%rax
SYM_FUNC_END(ibt_selftest)