1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* Copyright (c) 2018 Facebook */ |
3 | #include <linux/bpf.h> |
4 | #include <bpf/bpf_helpers.h> |
5 | #include "bpf_legacy.h" |
6 | |
7 | struct ipv_counts { |
8 | unsigned int v4; |
9 | unsigned int v6; |
10 | }; |
11 | |
12 | struct { |
13 | __uint(type, BPF_MAP_TYPE_ARRAY); |
14 | __uint(max_entries, 4); |
15 | __type(key, int); |
16 | __type(value, struct ipv_counts); |
17 | } btf_map SEC(".maps" ); |
18 | |
19 | __attribute__((noinline)) |
20 | int test_long_fname_2(void) |
21 | { |
22 | struct ipv_counts *counts; |
23 | int key = 0; |
24 | |
25 | counts = bpf_map_lookup_elem(&btf_map, &key); |
26 | if (!counts) |
27 | return 0; |
28 | |
29 | counts->v6++; |
30 | |
31 | return 0; |
32 | } |
33 | |
34 | __attribute__((noinline)) |
35 | int test_long_fname_1(void) |
36 | { |
37 | return test_long_fname_2(); |
38 | } |
39 | |
40 | SEC("dummy_tracepoint" ) |
41 | int _dummy_tracepoint(void *arg) |
42 | { |
43 | return test_long_fname_1(); |
44 | } |
45 | |
46 | char _license[] SEC("license" ) = "GPL" ; |
47 | |