112e6196fSYonghong Song // SPDX-License-Identifier: GPL-2.0
212e6196fSYonghong Song /* Copyright (c) 2020 Facebook */
312e6196fSYonghong Song #include "bpf_iter.h"
412e6196fSYonghong Song #include <bpf/bpf_helpers.h>
512e6196fSYonghong Song 
612e6196fSYonghong Song char _license[] SEC("license") = "GPL";
712e6196fSYonghong Song 
812e6196fSYonghong Song __u32 value_sum = 0;
912e6196fSYonghong Song 
1012e6196fSYonghong Song SEC("iter/bpf_map_elem")
dump_bpf_hash_map(struct bpf_iter__bpf_map_elem * ctx)1112e6196fSYonghong Song int dump_bpf_hash_map(struct bpf_iter__bpf_map_elem *ctx)
1212e6196fSYonghong Song {
1312e6196fSYonghong Song 	void *value = ctx->value;
1412e6196fSYonghong Song 
1512e6196fSYonghong Song 	if (value == (void *)0)
1612e6196fSYonghong Song 		return 0;
1712e6196fSYonghong Song 
1812e6196fSYonghong Song 	/* negative offset, verifier failure. */
1912e6196fSYonghong Song 	value_sum += *(__u32 *)(value - 4);
2012e6196fSYonghong Song 	return 0;
2112e6196fSYonghong Song }
22