diff options
Diffstat (limited to 'tools/testing/selftests/bpf/progs/bpf_iter_netlink.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/bpf_iter_netlink.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c index cec82a419800..b9c2756c5c97 100644 --- a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c +++ b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c @@ -7,7 +7,21 @@ char _license[] SEC("license") = "GPL"; -static inline struct inode *SOCK_INODE(struct socket *socket) +#define sk_rmem_alloc sk_backlog.rmem_alloc +#define sk_refcnt __sk_common.skc_refcnt + +struct bpf_iter_meta { + struct seq_file *seq; + __u64 session_id; + __u64 seq_num; +} __attribute__((preserve_access_index)); + +struct bpf_iter__netlink { + struct bpf_iter_meta *meta; + struct netlink_sock *sk; +} __attribute__((preserve_access_index)); + +static __attribute__((noinline)) struct inode *SOCK_INODE(struct socket *socket) { return &container_of(socket, struct socket_alloc, socket)->vfs_inode; } |