aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/perf/scripts/python/call-graph-from-postgresql.py
diff options
context:
space:
mode:
authorKui-Feng Lee <thinker.li@gmail.com>2024-10-23 16:47:48 -0700
committerAlexei Starovoitov <ast@kernel.org>2024-10-24 10:25:58 -0700
commit1cb80d9e93f861018fabe81a69ea0ded20f5a2d0 (patch)
tree6a9df68efe29654d957abc53e09d322345442ece /tools/perf/scripts/python/call-graph-from-postgresql.py
parentMerge branch 'fix-libbpf-s-bpf_object-and-bpf-subskel-interoperability' (diff)
downloadwireguard-linux-1cb80d9e93f861018fabe81a69ea0ded20f5a2d0.tar.xz
wireguard-linux-1cb80d9e93f861018fabe81a69ea0ded20f5a2d0.zip
bpf: Support __uptr type tag in BTF
This patch introduces the "__uptr" type tag to BTF. It is to define a pointer pointing to the user space memory. This patch adds BTF logic to pass the "__uptr" type tag. btf_find_kptr() is reused for the "__uptr" tag. The "__uptr" will only be supported in the map_value of the task storage map. However, btf_parse_struct_meta() also uses btf_find_kptr() but it is not interested in "__uptr". This patch adds a "field_mask" argument to btf_find_kptr() which will return BTF_FIELD_IGNORE if the caller is not interested in a “__uptr” field. btf_parse_kptr() is also reused to parse the uptr. The btf_check_and_fixup_fields() is changed to do extra checks on the uptr to ensure that its struct size is not larger than PAGE_SIZE. It is not clear how a uptr pointing to a CO-RE supported kernel struct will be used, so it is also not allowed now. Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com> Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org> Link: https://lore.kernel.org/r/20241023234759.860539-2-martin.lau@linux.dev Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions