xref: /linux/tools/testing/selftests/bpf/progs/test_signed_loader.c (revision 5a8cd539ac19f7a68e68e1d25ef9ca2ff55b8500)
15b88319eSDaniel Borkmann // SPDX-License-Identifier: GPL-2.0
25b88319eSDaniel Borkmann #include "vmlinux.h"
35b88319eSDaniel Borkmann #include <bpf/bpf_helpers.h>
45b88319eSDaniel Borkmann 
55b88319eSDaniel Borkmann /*
65b88319eSDaniel Borkmann  * Minimal, map-less program. Driven through libbpf's gen_loader (gen_hash)
7*99b321ddSDaniel Borkmann  * by prog_tests/signed_loader.c so the generated light-skeleton loader can be
8*99b321ddSDaniel Borkmann  * exercised against good and tampered metadata, which the kernel now verifies
9*99b321ddSDaniel Borkmann  * at load time via the insns||metadata signature. A socket filter needs no
10*99b321ddSDaniel Borkmann  * load-time attach resolution, and having no maps keeps the generated loader's
11*99b321ddSDaniel Borkmann  * ctx trivial (0 maps, 1 prog).
125b88319eSDaniel Borkmann  */
135b88319eSDaniel Borkmann SEC("socket")
probe(void * ctx)145b88319eSDaniel Borkmann int probe(void *ctx)
155b88319eSDaniel Borkmann {
165b88319eSDaniel Borkmann 	return 0;
175b88319eSDaniel Borkmann }
185b88319eSDaniel Borkmann 
195b88319eSDaniel Borkmann char _license[] SEC("license") = "GPL";
20