1*f8b19aecSSlava Imameev // SPDX-License-Identifier: GPL-2.0-only 2*f8b19aecSSlava Imameev 3*f8b19aecSSlava Imameev #include "vmlinux.h" 4*f8b19aecSSlava Imameev #include <bpf/bpf_tracing.h> 5*f8b19aecSSlava Imameev #include <bpf/bpf_helpers.h> 6*f8b19aecSSlava Imameev 7*f8b19aecSSlava Imameev char _license[] SEC("license") = "GPL"; 8*f8b19aecSSlava Imameev 9*f8b19aecSSlava Imameev __u32 value_sum = 0; 10*f8b19aecSSlava Imameev 11*f8b19aecSSlava Imameev SEC("iter/bpf_map_elem") dump_bpf_map_values(struct bpf_iter__bpf_map_elem * ctx)12*f8b19aecSSlava Imameevint dump_bpf_map_values(struct bpf_iter__bpf_map_elem *ctx) 13*f8b19aecSSlava Imameev { 14*f8b19aecSSlava Imameev __u32 value = 0; 15*f8b19aecSSlava Imameev 16*f8b19aecSSlava Imameev if (ctx->value == (void *)0) 17*f8b19aecSSlava Imameev return 0; 18*f8b19aecSSlava Imameev 19*f8b19aecSSlava Imameev bpf_probe_read_kernel(&value, sizeof(value), ctx->value); 20*f8b19aecSSlava Imameev value_sum += value; 21*f8b19aecSSlava Imameev return 0; 22*f8b19aecSSlava Imameev } 23