Lines Matching +full:out +full:-

1 // SPDX-License-Identifier: GPL-2.0
13 * in a single program for a single tail call slot with nop->jmp, jmp->nop
14 * and jmp->jmp rewrites. Also checks for nop->nop.
37 goto out; in test_tailcall_1()
41 goto out; in test_tailcall_1()
45 goto out; in test_tailcall_1()
49 goto out; in test_tailcall_1()
56 goto out; in test_tailcall_1()
60 goto out; in test_tailcall_1()
64 goto out; in test_tailcall_1()
74 goto out; in test_tailcall_1()
86 goto out; in test_tailcall_1()
90 goto out; in test_tailcall_1()
94 goto out; in test_tailcall_1()
102 j = bpf_map__max_entries(prog_array) - 1 - i; in test_tailcall_1()
107 goto out; in test_tailcall_1()
111 goto out; in test_tailcall_1()
115 goto out; in test_tailcall_1()
119 j = bpf_map__max_entries(prog_array) - 1 - i; in test_tailcall_1()
127 goto out; in test_tailcall_1()
137 goto out; in test_tailcall_1()
144 out: in test_tailcall_1()
173 goto out; in test_tailcall_2()
177 goto out; in test_tailcall_2()
181 goto out; in test_tailcall_2()
185 goto out; in test_tailcall_2()
192 goto out; in test_tailcall_2()
196 goto out; in test_tailcall_2()
200 goto out; in test_tailcall_2()
210 goto out; in test_tailcall_2()
219 goto out; in test_tailcall_2()
224 out: in test_tailcall_2()
250 goto out; in test_tailcall_count()
254 goto out; in test_tailcall_count()
258 goto out; in test_tailcall_count()
262 goto out; in test_tailcall_count()
266 goto out; in test_tailcall_count()
270 goto out; in test_tailcall_count()
275 goto out; in test_tailcall_count()
281 goto out; in test_tailcall_count()
285 goto out; in test_tailcall_count()
290 goto out; in test_tailcall_count()
294 goto out; in test_tailcall_count()
298 goto out; in test_tailcall_count()
305 goto out; in test_tailcall_count()
309 goto out; in test_tailcall_count()
314 goto out; in test_tailcall_count()
318 goto out; in test_tailcall_count()
322 goto out; in test_tailcall_count()
331 goto out; in test_tailcall_count()
335 goto out; in test_tailcall_count()
346 goto out; in test_tailcall_count()
351 goto out; in test_tailcall_count()
363 goto out; in test_tailcall_count()
368 goto out; in test_tailcall_count()
379 goto out; in test_tailcall_count()
384 out: in test_tailcall_count()
434 goto out; in test_tailcall_4()
438 goto out; in test_tailcall_4()
442 goto out; in test_tailcall_4()
446 goto out; in test_tailcall_4()
450 goto out; in test_tailcall_4()
454 goto out; in test_tailcall_4()
461 goto out; in test_tailcall_4()
465 goto out; in test_tailcall_4()
469 goto out; in test_tailcall_4()
475 goto out; in test_tailcall_4()
485 goto out; in test_tailcall_4()
489 goto out; in test_tailcall_4()
495 out: in test_tailcall_4()
524 goto out; in test_tailcall_5()
528 goto out; in test_tailcall_5()
532 goto out; in test_tailcall_5()
536 goto out; in test_tailcall_5()
540 goto out; in test_tailcall_5()
544 goto out; in test_tailcall_5()
551 goto out; in test_tailcall_5()
555 goto out; in test_tailcall_5()
559 goto out; in test_tailcall_5()
565 goto out; in test_tailcall_5()
575 goto out; in test_tailcall_5()
579 goto out; in test_tailcall_5()
585 out: in test_tailcall_5()
612 goto out; in test_tailcall_bpf2bpf_1()
616 goto out; in test_tailcall_bpf2bpf_1()
620 goto out; in test_tailcall_bpf2bpf_1()
624 goto out; in test_tailcall_bpf2bpf_1()
626 /* nop -> jmp */ in test_tailcall_bpf2bpf_1()
632 goto out; in test_tailcall_bpf2bpf_1()
636 goto out; in test_tailcall_bpf2bpf_1()
640 goto out; in test_tailcall_bpf2bpf_1()
647 /* jmp -> nop, call subprog that will do tailcall */ in test_tailcall_bpf2bpf_1()
651 goto out; in test_tailcall_bpf2bpf_1()
663 goto out; in test_tailcall_bpf2bpf_1()
668 out: in test_tailcall_bpf2bpf_1()
696 goto out; in test_tailcall_bpf2bpf_2()
700 goto out; in test_tailcall_bpf2bpf_2()
704 goto out; in test_tailcall_bpf2bpf_2()
708 goto out; in test_tailcall_bpf2bpf_2()
712 goto out; in test_tailcall_bpf2bpf_2()
716 goto out; in test_tailcall_bpf2bpf_2()
721 goto out; in test_tailcall_bpf2bpf_2()
729 goto out; in test_tailcall_bpf2bpf_2()
733 goto out; in test_tailcall_bpf2bpf_2()
743 goto out; in test_tailcall_bpf2bpf_2()
748 out: in test_tailcall_bpf2bpf_2()
752 /* test_tailcall_bpf2bpf_3 checks that non-trivial amount of stack (up to
776 goto out; in test_tailcall_bpf2bpf_3()
780 goto out; in test_tailcall_bpf2bpf_3()
784 goto out; in test_tailcall_bpf2bpf_3()
788 goto out; in test_tailcall_bpf2bpf_3()
795 goto out; in test_tailcall_bpf2bpf_3()
799 goto out; in test_tailcall_bpf2bpf_3()
803 goto out; in test_tailcall_bpf2bpf_3()
813 goto out; in test_tailcall_bpf2bpf_3()
822 goto out; in test_tailcall_bpf2bpf_3()
827 out: in test_tailcall_bpf2bpf_3()
837 * entry -> entry_subprog -> tailcall0 -> bpf_func0 -> subprog0 ->
838 * -> tailcall1 -> bpf_func1 -> subprog1 -> tailcall2 -> bpf_func2 ->
839 * subprog2 [here bump global counter] --------^
871 goto out; in test_tailcall_bpf2bpf_4()
875 goto out; in test_tailcall_bpf2bpf_4()
879 goto out; in test_tailcall_bpf2bpf_4()
883 goto out; in test_tailcall_bpf2bpf_4()
890 goto out; in test_tailcall_bpf2bpf_4()
894 goto out; in test_tailcall_bpf2bpf_4()
898 goto out; in test_tailcall_bpf2bpf_4()
903 goto out; in test_tailcall_bpf2bpf_4()
907 goto out; in test_tailcall_bpf2bpf_4()
914 goto out; in test_tailcall_bpf2bpf_4()
925 out: in test_tailcall_bpf2bpf_4()
948 main_fd = bpf_program__fd(obj->progs.entry); in test_tailcall_bpf2bpf_6()
950 goto out; in test_tailcall_bpf2bpf_6()
952 map_fd = bpf_map__fd(obj->maps.jmp_table); in test_tailcall_bpf2bpf_6()
954 goto out; in test_tailcall_bpf2bpf_6()
956 prog_fd = bpf_program__fd(obj->progs.classifier_0); in test_tailcall_bpf2bpf_6()
958 goto out; in test_tailcall_bpf2bpf_6()
963 goto out; in test_tailcall_bpf2bpf_6()
969 data_fd = bpf_map__fd(obj->maps.bss); in test_tailcall_bpf2bpf_6()
971 goto out; in test_tailcall_bpf2bpf_6()
978 out: in test_tailcall_bpf2bpf_6()
1036 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1040 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1044 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1048 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1053 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1058 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1062 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1066 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1070 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1074 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1083 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1087 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1097 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1102 goto out; in test_tailcall_bpf2bpf_fentry_entry()
1109 out: in test_tailcall_bpf2bpf_fentry_entry()
1124 map_fd = bpf_map__fd(call->maps.jmp_table); in poke_update()
1125 prog1_fd = bpf_program__fd(call->progs.call1); in poke_update()
1126 prog2_fd = bpf_program__fd(call->progs.call2); in poke_update()
1157 err = bpf_map__pin(call->maps.jmp_table, JMP_TABLE); in test_tailcall_poke()
1159 goto out; in test_tailcall_poke()
1163 goto out; in test_tailcall_poke()
1165 while (cnt--) { in test_tailcall_poke()
1170 err = bpf_map__set_pin_path(test->maps.jmp_table, JMP_TABLE); in test_tailcall_poke()
1176 bpf_program__set_autoload(test->progs.test, true); in test_tailcall_poke()
1177 bpf_program__set_autoload(test->progs.call1, false); in test_tailcall_poke()
1178 bpf_program__set_autoload(test->progs.call2, false); in test_tailcall_poke()
1189 out: in test_tailcall_poke()
1190 bpf_map__unpin(call->maps.jmp_table, JMP_TABLE); in test_tailcall_poke()
1219 goto out; in test_tailcall_hierarchy_count()
1223 goto out; in test_tailcall_hierarchy_count()
1229 goto out; in test_tailcall_hierarchy_count()
1234 goto out; in test_tailcall_hierarchy_count()
1239 goto out; in test_tailcall_hierarchy_count()
1243 goto out; in test_tailcall_hierarchy_count()
1247 goto out; in test_tailcall_hierarchy_count()
1251 goto out; in test_tailcall_hierarchy_count()
1255 goto out; in test_tailcall_hierarchy_count()
1259 goto out; in test_tailcall_hierarchy_count()
1264 goto out; in test_tailcall_hierarchy_count()
1269 goto out; in test_tailcall_hierarchy_count()
1274 goto out; in test_tailcall_hierarchy_count()
1278 goto out; in test_tailcall_hierarchy_count()
1283 goto out; in test_tailcall_hierarchy_count()
1288 goto out; in test_tailcall_hierarchy_count()
1295 goto out; in test_tailcall_hierarchy_count()
1299 goto out; in test_tailcall_hierarchy_count()
1304 goto out; in test_tailcall_hierarchy_count()
1308 goto out; in test_tailcall_hierarchy_count()
1312 goto out; in test_tailcall_hierarchy_count()
1319 goto out; in test_tailcall_hierarchy_count()
1323 goto out; in test_tailcall_hierarchy_count()
1328 goto out; in test_tailcall_hierarchy_count()
1332 goto out; in test_tailcall_hierarchy_count()
1336 goto out; in test_tailcall_hierarchy_count()
1345 goto out; in test_tailcall_hierarchy_count()
1356 goto out; in test_tailcall_hierarchy_count()
1361 goto out; in test_tailcall_hierarchy_count()
1373 goto out; in test_tailcall_hierarchy_count()
1378 goto out; in test_tailcall_hierarchy_count()
1389 goto out; in test_tailcall_hierarchy_count()
1414 out: in test_tailcall_hierarchy_count()
1426 * subprog --tailcall-> entry
1428 * subprog --tailcall-> entry
1479 * subprog_tail0 --tailcall-> classifier_0 -> subprog_tail0
1481 * subprog_tail1 --tailcall-> classifier_1 -> subprog_tail1
1492 * entry --tailcall-> classifier_0 <
1525 goto out; in test_tailcall_freplace()
1527 tc_prog_fd = bpf_program__fd(tc_skel->progs.entry_tc); in test_tailcall_freplace()
1528 freplace_prog = freplace_skel->progs.entry_freplace; in test_tailcall_freplace()
1532 goto out; in test_tailcall_freplace()
1536 goto out; in test_tailcall_freplace()
1538 map_fd = bpf_map__fd(freplace_skel->maps.jmp_table); in test_tailcall_freplace()
1547 goto out; in test_tailcall_freplace()
1552 out: in test_tailcall_freplace()
1579 goto out; in test_tailcall_bpf2bpf_freplace()
1581 prog_fd = bpf_program__fd(tc_skel->progs.entry_tc); in test_tailcall_bpf2bpf_freplace()
1584 goto out; in test_tailcall_bpf2bpf_freplace()
1586 err = bpf_program__set_attach_target(freplace_skel->progs.entry_freplace, in test_tailcall_bpf2bpf_freplace()
1589 goto out; in test_tailcall_bpf2bpf_freplace()
1593 goto out; in test_tailcall_bpf2bpf_freplace()
1597 freplace_link = bpf_program__attach_freplace(freplace_skel->progs.entry_freplace, in test_tailcall_bpf2bpf_freplace()
1600 goto out; in test_tailcall_bpf2bpf_freplace()
1604 goto out; in test_tailcall_bpf2bpf_freplace()
1609 map_fd = bpf_map__fd(freplace_skel->maps.jmp_table); in test_tailcall_bpf2bpf_freplace()
1612 goto out; in test_tailcall_bpf2bpf_freplace()
1616 goto out; in test_tailcall_bpf2bpf_freplace()
1622 goto out; in test_tailcall_bpf2bpf_freplace()
1624 freplace_link = bpf_program__attach_freplace(freplace_skel->progs.entry_freplace, in test_tailcall_bpf2bpf_freplace()
1627 goto out; in test_tailcall_bpf2bpf_freplace()
1631 goto out; in test_tailcall_bpf2bpf_freplace()
1635 freplace_link = bpf_program__attach_freplace(freplace_skel->progs.entry_freplace, in test_tailcall_bpf2bpf_freplace()
1638 goto out; in test_tailcall_bpf2bpf_freplace()
1642 goto out; in test_tailcall_bpf2bpf_freplace()
1644 out: in test_tailcall_bpf2bpf_freplace()