xref: /openbmc/linux/tools/testing/selftests/bpf/prog_tests/helper_restricted.c (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1e60e6962SDmitrii Banshchikov // SPDX-License-Identifier: GPL-2.0
2e60e6962SDmitrii Banshchikov 
3e60e6962SDmitrii Banshchikov #include <test_progs.h>
4e60e6962SDmitrii Banshchikov #include "test_helper_restricted.skel.h"
5e60e6962SDmitrii Banshchikov 
test_helper_restricted(void)6e60e6962SDmitrii Banshchikov void test_helper_restricted(void)
7e60e6962SDmitrii Banshchikov {
8e60e6962SDmitrii Banshchikov 	int prog_i = 0, prog_cnt;
9e60e6962SDmitrii Banshchikov 
10e60e6962SDmitrii Banshchikov 	do {
11e60e6962SDmitrii Banshchikov 		struct test_helper_restricted *test;
12*0d7fefebSAndrii Nakryiko 		int err;
13e60e6962SDmitrii Banshchikov 
14e60e6962SDmitrii Banshchikov 		test = test_helper_restricted__open();
15e60e6962SDmitrii Banshchikov 		if (!ASSERT_OK_PTR(test, "open"))
16e60e6962SDmitrii Banshchikov 			return;
17e60e6962SDmitrii Banshchikov 
18e60e6962SDmitrii Banshchikov 		prog_cnt = test->skeleton->prog_cnt;
19e60e6962SDmitrii Banshchikov 
20e60e6962SDmitrii Banshchikov 		for (int j = 0; j < prog_cnt; ++j) {
21e60e6962SDmitrii Banshchikov 			struct bpf_program *prog = *test->skeleton->progs[j].prog;
22e60e6962SDmitrii Banshchikov 
23*0d7fefebSAndrii Nakryiko 			bpf_program__set_autoload(prog, true);
24e60e6962SDmitrii Banshchikov 		}
25e60e6962SDmitrii Banshchikov 
26*0d7fefebSAndrii Nakryiko 		err = test_helper_restricted__load(test);
27*0d7fefebSAndrii Nakryiko 		ASSERT_ERR(err, "load_should_fail");
28e60e6962SDmitrii Banshchikov 
29e60e6962SDmitrii Banshchikov 		test_helper_restricted__destroy(test);
30e60e6962SDmitrii Banshchikov 	} while (++prog_i < prog_cnt);
31e60e6962SDmitrii Banshchikov }
32