WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#67: 
new file mode 100644

WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
#72: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:1:
+#include <errno.h>

WARNING: line length of 87 exceeds 80 columns
#141: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:70:
+struct kv_store *kv_store_init(int pid, struct bpf_map *data_map, const char *pin_path)

WARNING: line length of 82 exceeds 80 columns
#180: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:109:
+	err = bpf_map_update_elem(kvs->data_map_fd, &kvs->task_fd, &kvs->data, 0);

WARNING: line length of 94 exceeds 80 columns
#246: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:175:
+static int kv_store_find_next_slot(struct kv_store *kvs, int size, struct kv_store_meta *meta)

WARNING: line length of 91 exceeds 80 columns
#252: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:181:
+	memcpy(metas, kvs->data.metas, sizeof(struct kv_store_meta) * KVS_MAX_VAL_ENTRIES);

WARNING: line length of 83 exceeds 80 columns
#254: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:183:
+	qsort(metas, KVS_MAX_VAL_ENTRIES, sizeof(struct kv_store_meta), comp_meta);

WARNING: line length of 90 exceeds 80 columns
#274: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:203:
+		err = bpf_map_update_elem(kvs->data_map_fd, &kvs->task_fd, &kvs->data, 0);

WARNING: line length of 81 exceeds 80 columns
#284: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:213:
+int kv_store_put(struct kv_store *kvs, int key, void *val, unsigned int val_size)

WARNING: line length of 84 exceeds 80 columns
#324: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.c:253:
+int kv_store_update_value_size(struct kv_store *kvs, int key, unsigned int val_size)

WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
#360: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.h:1:
+#ifndef _UPTR_KV_STORE_H

WARNING: line length of 88 exceeds 80 columns
#369: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.h:10:
+struct kv_store *kv_store_init(int pid, struct bpf_map *data_map, const char *pin_path);

WARNING: line length of 82 exceeds 80 columns
#375: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.h:16:
+int kv_store_put(struct kv_store *kvs, int key, void *val, unsigned int val_size);

WARNING: line length of 85 exceeds 80 columns
#379: FILE: tools/testing/selftests/bpf/prog_tests/uptr_kv_store.h:20:
+int kv_store_update_value_size(struct kv_store *kvs, int key, unsigned int val_size);

WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
#388: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:1:
+#ifndef _UPTR_KV_STORE_H

WARNING: line length of 82 exceeds 80 columns
#404: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:17:
+static int bpf_dynptr_from_kv_store(struct kv_store_data_map_value *data, int key,

WARNING: line length of 82 exceeds 80 columns
#405: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:18:
+				    unsigned int val_size, struct bpf_dynptr *ptr,

WARNING: line length of 93 exceeds 80 columns
#414: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:27:
+	/* workaround. llvm generates memory access with unbound key with the following code:

WARNING: line length of 142 exceeds 80 columns
#419: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:32:
+	 * 62: (bc) w2 = w2                      ; frame1: R2_w=scalar(id=3,smin=0,smax=umax=0xffffffff,smax32=1023,var_off=(0x0; 0xffffffff))

WARNING: line length of 173 exceeds 80 columns
#420: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:33:
+	 * 63: (67) r2 <<= 32                    ; frame1: R2_w=scalar(smax=0x3ff00000000,umax=0xffffffff00000000,smin32=0,smax32=umax32=0,var_off=(0x0; 0xffffffff00000000))

WARNING: line length of 112 exceeds 80 columns
#421: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:34:
+	 * 64: (c7) r2 s>>= 32                   ; frame1: R2_w=scalar(smin=0xffffffff80000000,smax=smax32=1023)

WARNING: line length of 189 exceeds 80 columns
#422: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:35:
+	 * 65: (67) r2 <<= 2                     ; frame1: R2_w=scalar(smax=0x7ffffffffffffffc,umax=0xfffffffffffffffc,smax32=0x7ffffffc,umax32=0xfffffffc,var_off=(0x0; 0xfffffffffffffffc))

WARNING: line length of 88 exceeds 80 columns
#424: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:37:
+	 * math between mem pointer and register with unbounded min value is not allowed

ERROR: space required before the open parenthesis '('
#437: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:50:
+	switch((*meta)->page_idx) {

ERROR: trailing statements should be on next line
#438: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:51:
+	case 0: p = data->pages[0].page; break;

ERROR: trailing statements should be on next line
#439: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:52:
+	case 1: p = data->pages[1].page; break;

ERROR: trailing statements should be on next line
#440: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:53:
+	case 2: p = data->pages[2].page; break;

ERROR: trailing statements should be on next line
#441: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:54:
+	case 3: p = data->pages[3].page; break;

ERROR: trailing statements should be on next line
#442: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:55:
+	case 4: p = data->pages[4].page; break;

ERROR: trailing statements should be on next line
#443: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:56:
+	case 5: p = data->pages[5].page; break;

ERROR: trailing statements should be on next line
#444: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:57:
+	case 6: p = data->pages[6].page; break;

ERROR: trailing statements should be on next line
#445: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:58:
+	case 7: p = data->pages[7].page; break;

WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__))
#459: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:72:
+__attribute__((unused))

WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__))
#474: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:87:
+__attribute__((unused))

WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__))
#489: FILE: tools/testing/selftests/bpf/progs/uptr_kv_store.h:102:
+__attribute__((unused))

WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
#514: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:1:
+#ifndef _UPTR_KV_STORE_COMMON_H

WARNING: please, no space before tabs
#518: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:5:
+#define KVS_MAX_KEY_SIZE ^I32$

WARNING: please, no space before tabs
#519: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:6:
+#define KVS_MAX_VAL_SIZE ^IPAGE_SIZE$

WARNING: please, no space before tabs
#520: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:7:
+#define KVS_MAX_VAL_ENTRIES ^I1024$

CHECK: Prefer using the BIT macro
#526: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:13:
+#define KVS_MAX_PAGE_ENTRIES	(1 << KVS_VALUE_INFO_PAGE_IDX_BIT)

CHECK: spaces preferred around that '*' (ctx:WxV)
#548: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:35:
+	struct kv_store_page __uptr *page;
 	                            ^

CHECK: spaces preferred around that '*' (ctx:WxV)
#552: FILE: tools/testing/selftests/bpf/uptr_kv_store_common.h:39:
+	struct kv_store_metas __uptr *metas;
 	                             ^

total: 9 errors, 30 warnings, 3 checks, 471 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 04ae7ca98a3d ("selftests/bpf: Implement basic uptr KV store") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.