Commit 13379059 authored by Artem Savkov's avatar Artem Savkov Committed by Alexei Starovoitov
Browse files

bpf: export crash_kexec() as destructive kfunc



Allow properly marked bpf programs to call crash_kexec().

Signed-off-by: default avatarArtem Savkov <asavkov@redhat.com>
Link: https://lore.kernel.org/r/20220810065905.475418-3-asavkov@redhat.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 4dd48c6f
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -1725,3 +1725,21 @@ bpf_base_func_proto(enum bpf_func_id func_id)
		return NULL;
	}
}

BTF_SET8_START(tracing_btf_ids)
#ifdef CONFIG_KEXEC_CORE
BTF_ID_FLAGS(func, crash_kexec, KF_DESTRUCTIVE)
#endif
BTF_SET8_END(tracing_btf_ids)

static const struct btf_kfunc_id_set tracing_kfunc_set = {
	.owner = THIS_MODULE,
	.set   = &tracing_btf_ids,
};

static int __init kfunc_init(void)
{
	return register_btf_kfunc_id_set(BPF_PROG_TYPE_TRACING, &tracing_kfunc_set);
}

late_initcall(kfunc_init);