[PATCH 1/3] bpf: introduce gotox_point in bpf_insn_aux_data.
From: Yeoreum Yun
Date: Fri Mar 06 2026 - 17:14:01 EST
This is preparation patch to fix BTI exception with gotox.
To make JIT know whether instruction is gotox points,
Add gotox_point field in bpf_insn_aux_data.
Signed-off-by: Yeoreum Yun <yeoreum.yun@xxxxxxx>
---
include/linux/bpf_verifier.h | 3 +++
kernel/bpf/verifier.c | 6 ++++++
2 files changed, 9 insertions(+)
diff --git a/include/linux/bpf_verifier.h b/include/linux/bpf_verifier.h
index ef8e45a362d9..92f4c252193e 100644
--- a/include/linux/bpf_verifier.h
+++ b/include/linux/bpf_verifier.h
@@ -588,6 +588,9 @@ struct bpf_insn_aux_data {
* accepts callback function as a parameter.
*/
bool calls_callback;
+ /* true if instruction is destination of gotox.
+ */
+ bool gotox_point;
/*
* CFG strongly connected component this instruction belongs to,
* zero if it is a singleton SCC.
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 401d6c4960ec..bf0281fb5db9 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -3973,6 +3973,11 @@ static bool is_jmp_point(struct bpf_verifier_env *env, int insn_idx)
return env->insn_aux_data[insn_idx].jmp_point;
}
+static void mark_gotox_point(struct bpf_verifier_env *env, int idx)
+{
+ env->insn_aux_data[idx].gotox_point = true;
+}
+
#define LR_FRAMENO_BITS 3
#define LR_SPI_BITS 6
#define LR_ENTRY_BITS (LR_SPI_BITS + LR_FRAMENO_BITS + 1)
@@ -18720,6 +18725,7 @@ static int visit_gotox_insn(int t, struct bpf_verifier_env *env)
}
mark_jmp_point(env, w);
+ mark_gotox_point(env, w);
/* EXPLORED || DISCOVERED */
if (insn_state[w])
--
LEVI:{C3F47F37-75D8-414A-A8BA-3980EC8A46D7}