1*9fc4476aSKumar Kartikeya Dwivedi // SPDX-License-Identifier: GPL-2.0
2*9fc4476aSKumar Kartikeya Dwivedi #include <vmlinux.h>
3*9fc4476aSKumar Kartikeya Dwivedi #include <bpf/bpf_helpers.h>
4*9fc4476aSKumar Kartikeya Dwivedi 
5*9fc4476aSKumar Kartikeya Dwivedi struct {
6*9fc4476aSKumar Kartikeya Dwivedi 	__uint(type, BPF_MAP_TYPE_ARRAY);
7*9fc4476aSKumar Kartikeya Dwivedi 	__uint(max_entries, 1);
8*9fc4476aSKumar Kartikeya Dwivedi 	__type(key, __u32);
9*9fc4476aSKumar Kartikeya Dwivedi 	__type(value, __u64);
10*9fc4476aSKumar Kartikeya Dwivedi } array_map SEC(".maps");
11*9fc4476aSKumar Kartikeya Dwivedi 
12*9fc4476aSKumar Kartikeya Dwivedi static __u64
check_array_elem(struct bpf_map * map,__u32 * key,__u64 * val,void * data)13*9fc4476aSKumar Kartikeya Dwivedi check_array_elem(struct bpf_map *map, __u32 *key, __u64 *val,
14*9fc4476aSKumar Kartikeya Dwivedi 		 void *data)
15*9fc4476aSKumar Kartikeya Dwivedi {
16*9fc4476aSKumar Kartikeya Dwivedi 	bpf_get_current_comm(key, sizeof(*key));
17*9fc4476aSKumar Kartikeya Dwivedi 	return 0;
18*9fc4476aSKumar Kartikeya Dwivedi }
19*9fc4476aSKumar Kartikeya Dwivedi 
20*9fc4476aSKumar Kartikeya Dwivedi SEC("raw_tp/sys_enter")
test_map_key_write(const void * ctx)21*9fc4476aSKumar Kartikeya Dwivedi int test_map_key_write(const void *ctx)
22*9fc4476aSKumar Kartikeya Dwivedi {
23*9fc4476aSKumar Kartikeya Dwivedi 	bpf_for_each_map_elem(&array_map, check_array_elem, NULL, 0);
24*9fc4476aSKumar Kartikeya Dwivedi 	return 0;
25*9fc4476aSKumar Kartikeya Dwivedi }
26*9fc4476aSKumar Kartikeya Dwivedi 
27*9fc4476aSKumar Kartikeya Dwivedi char _license[] SEC("license") = "GPL";
28