[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211105232330.1936330-1-songliubraving@fb.com>
Date: Fri, 5 Nov 2021 16:23:28 -0700
From: Song Liu <songliubraving@...com>
To: <bpf@...r.kernel.org>, <netdev@...r.kernel.org>
CC: <ast@...nel.org>, <daniel@...earbox.net>, <andrii@...nel.org>,
<kernel-team@...com>, <kpsingh@...nel.org>,
<hengqi.chen@...il.com>, Song Liu <songliubraving@...com>
Subject: [PATCH v5 bpf-next 0/2] introduce bpf_find_vma
Changes v4 => v5:
1. Clean up and style change in 2/2. (Andrii)
Changes v3 => v4:
1. Move mmap_unlock_work to task_iter.c to fix build for .config without
!CONFIG_PERF_EVENTS. (kernel test robot <lkp@...el.com>)
Changes v2 => v3:
1. Avoid using x86 only function in selftests. (Yonghong)
2. Add struct file and struct vm_area_struct to btf_task_struct_ids, and
use it in bpf_find_vma and stackmap.c. (Yonghong)
3. Fix inaccurate comments. (Yonghong)
Changes v1 => v2:
1. Share irq_work with stackmap.c. (Daniel)
2. Add tests for illegal writes to task/vma from the callback function.
(Daniel)
3. Other small fixes.
Add helper bpf_find_vma. This can be used in some profiling use cases. It
might also be useful for LSM.
Song Liu (2):
bpf: introduce helper bpf_find_vma
selftests/bpf: add tests for bpf_find_vma
include/linux/bpf.h | 1 +
include/uapi/linux/bpf.h | 20 +++
kernel/bpf/btf.c | 5 +-
kernel/bpf/mmap_unlock_work.h | 65 ++++++++++
kernel/bpf/stackmap.c | 80 ++----------
kernel/bpf/task_iter.c | 76 ++++++++++--
kernel/bpf/verifier.c | 34 +++++
kernel/trace/bpf_trace.c | 2 +
tools/include/uapi/linux/bpf.h | 20 +++
.../selftests/bpf/prog_tests/find_vma.c | 117 ++++++++++++++++++
tools/testing/selftests/bpf/progs/find_vma.c | 69 +++++++++++
.../selftests/bpf/progs/find_vma_fail1.c | 29 +++++
.../selftests/bpf/progs/find_vma_fail2.c | 29 +++++
13 files changed, 466 insertions(+), 81 deletions(-)
create mode 100644 kernel/bpf/mmap_unlock_work.h
create mode 100644 tools/testing/selftests/bpf/prog_tests/find_vma.c
create mode 100644 tools/testing/selftests/bpf/progs/find_vma.c
create mode 100644 tools/testing/selftests/bpf/progs/find_vma_fail1.c
create mode 100644 tools/testing/selftests/bpf/progs/find_vma_fail2.c
--
2.30.2
Powered by blists - more mailing lists