Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | /* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (c) 2020 Facebook */ /* "undefine" structs in vmlinux.h, because we "override" them below */ #define bpf_iter_meta bpf_iter_meta___not_used #define bpf_iter__bpf_map bpf_iter__bpf_map___not_used #define bpf_iter__ipv6_route bpf_iter__ipv6_route___not_used #define bpf_iter__netlink bpf_iter__netlink___not_used #define bpf_iter__task bpf_iter__task___not_used #define bpf_iter__task_file bpf_iter__task_file___not_used #define bpf_iter__task_vma bpf_iter__task_vma___not_used #define bpf_iter__tcp bpf_iter__tcp___not_used #define tcp6_sock tcp6_sock___not_used #define bpf_iter__udp bpf_iter__udp___not_used #define udp6_sock udp6_sock___not_used #define bpf_iter__unix bpf_iter__unix___not_used #define bpf_iter__bpf_map_elem bpf_iter__bpf_map_elem___not_used #define bpf_iter__bpf_sk_storage_map bpf_iter__bpf_sk_storage_map___not_used #define bpf_iter__sockmap bpf_iter__sockmap___not_used #define bpf_iter__bpf_link bpf_iter__bpf_link___not_used #define bpf_iter__cgroup bpf_iter__cgroup___not_used #define btf_ptr btf_ptr___not_used #define BTF_F_COMPACT BTF_F_COMPACT___not_used #define BTF_F_NONAME BTF_F_NONAME___not_used #define BTF_F_PTR_RAW BTF_F_PTR_RAW___not_used #define BTF_F_ZERO BTF_F_ZERO___not_used #define bpf_iter__ksym bpf_iter__ksym___not_used #include "vmlinux.h" #undef bpf_iter_meta #undef bpf_iter__bpf_map #undef bpf_iter__ipv6_route #undef bpf_iter__netlink #undef bpf_iter__task #undef bpf_iter__task_file #undef bpf_iter__task_vma #undef bpf_iter__tcp #undef tcp6_sock #undef bpf_iter__udp #undef udp6_sock #undef bpf_iter__unix #undef bpf_iter__bpf_map_elem #undef bpf_iter__bpf_sk_storage_map #undef bpf_iter__sockmap #undef bpf_iter__bpf_link #undef bpf_iter__cgroup #undef btf_ptr #undef BTF_F_COMPACT #undef BTF_F_NONAME #undef BTF_F_PTR_RAW #undef BTF_F_ZERO #undef bpf_iter__ksym struct bpf_iter_meta { struct seq_file *seq; __u64 session_id; __u64 seq_num; } __attribute__((preserve_access_index)); struct bpf_iter__ipv6_route { struct bpf_iter_meta *meta; struct fib6_info *rt; } __attribute__((preserve_access_index)); struct bpf_iter__netlink { struct bpf_iter_meta *meta; struct netlink_sock *sk; } __attribute__((preserve_access_index)); struct bpf_iter__task { struct bpf_iter_meta *meta; struct task_struct *task; } __attribute__((preserve_access_index)); struct bpf_iter__task_file { struct bpf_iter_meta *meta; struct task_struct *task; __u32 fd; struct file *file; } __attribute__((preserve_access_index)); struct bpf_iter__task_vma { struct bpf_iter_meta *meta; struct task_struct *task; struct vm_area_struct *vma; } __attribute__((preserve_access_index)); struct bpf_iter__bpf_map { struct bpf_iter_meta *meta; struct bpf_map *map; } __attribute__((preserve_access_index)); struct bpf_iter__tcp { struct bpf_iter_meta *meta; struct sock_common *sk_common; uid_t uid; } __attribute__((preserve_access_index)); struct tcp6_sock { struct tcp_sock tcp; struct ipv6_pinfo inet6; } __attribute__((preserve_access_index)); struct bpf_iter__udp { struct bpf_iter_meta *meta; struct udp_sock *udp_sk; uid_t uid __attribute__((aligned(8))); int bucket __attribute__((aligned(8))); } __attribute__((preserve_access_index)); struct udp6_sock { struct udp_sock udp; struct ipv6_pinfo inet6; } __attribute__((preserve_access_index)); struct bpf_iter__unix { struct bpf_iter_meta *meta; struct unix_sock *unix_sk; uid_t uid; } __attribute__((preserve_access_index)); struct bpf_iter__bpf_map_elem { struct bpf_iter_meta *meta; struct bpf_map *map; void *key; void *value; }; struct bpf_iter__bpf_sk_storage_map { struct bpf_iter_meta *meta; struct bpf_map *map; struct sock *sk; void *value; }; struct bpf_iter__sockmap { struct bpf_iter_meta *meta; struct bpf_map *map; void *key; struct sock *sk; }; struct bpf_iter__bpf_link { struct bpf_iter_meta *meta; struct bpf_link *link; }; struct bpf_iter__cgroup { struct bpf_iter_meta *meta; struct cgroup *cgroup; } __attribute__((preserve_access_index)); struct btf_ptr { void *ptr; __u32 type_id; __u32 flags; }; enum { BTF_F_COMPACT = (1ULL << 0), BTF_F_NONAME = (1ULL << 1), BTF_F_PTR_RAW = (1ULL << 2), BTF_F_ZERO = (1ULL << 3), }; struct bpf_iter__ksym { struct bpf_iter_meta *meta; struct kallsym_iter *ksym; }; |