xref: /linux/tools/testing/selftests/bpf/progs/test_signed_loader_data.c (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*5b88319eSDaniel Borkmann // SPDX-License-Identifier: GPL-2.0
2*5b88319eSDaniel Borkmann #include "vmlinux.h"
3*5b88319eSDaniel Borkmann #include <bpf/bpf_helpers.h>
4*5b88319eSDaniel Borkmann 
5*5b88319eSDaniel Borkmann /*
6*5b88319eSDaniel Borkmann  * A single initialized global, so the generated loader has one internal
7*5b88319eSDaniel Borkmann  * (.data) map that it seeds with an initial value while loading.
8*5b88319eSDaniel Borkmann  * prog_tests/signed_loader.c uses this to check that a signed loader
9*5b88319eSDaniel Borkmann  * keeps the attested contents and ignores a ctx-supplied initial_value:
10*5b88319eSDaniel Borkmann  * the host cannot re-seed a signed program's maps through the loader ctx.
11*5b88319eSDaniel Borkmann  */
12*5b88319eSDaniel Borkmann __u64 magic = 0x5eed1234abad1deaULL;
13*5b88319eSDaniel Borkmann 
14*5b88319eSDaniel Borkmann SEC("socket")
15*5b88319eSDaniel Borkmann int probe(void *ctx)
16*5b88319eSDaniel Borkmann {
17*5b88319eSDaniel Borkmann 	return (int)magic;
18*5b88319eSDaniel Borkmann }
19*5b88319eSDaniel Borkmann 
20*5b88319eSDaniel Borkmann char _license[] SEC("license") = "GPL";
21