linux/tools/testing/selftests/bpf
KP Singh 5222d69642 bpf, lsm: Fix the file_mprotect LSM test.
The test was previously using an mprotect on the heap memory allocated
using malloc and was expecting the allocation to be always using
sbrk(2). This is, however, not always true and in certain conditions
malloc may end up using anonymous mmaps for heap alloctions. This means
that the following condition that is used in the "lsm/file_mprotect"
program is not sufficent to detect all mprotect calls done on heap
memory:

	is_heap = (vma->vm_start >= vma->vm_mm->start_brk &&
		   vma->vm_end <= vma->vm_mm->brk);

The test is updated to use an mprotect on memory allocated on the stack.
While this would result in the splitting of the vma, this happens only
after the security_file_mprotect hook. So, the condition used in the BPF
program holds true.

Fixes: 03e54f100d ("bpf: lsm: Add selftests for BPF_PROG_TYPE_LSM")
Reported-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: KP Singh <kpsingh@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200402200751.26372-1-kpsingh@chromium.org
2020-04-02 19:42:52 -07:00
..
gnu
map_tests selftests/bpf: Add batch ops testing to array bpf map 2020-01-15 14:00:35 -08:00
prog_tests bpf, lsm: Fix the file_mprotect LSM test. 2020-04-02 19:42:52 -07:00
progs bpf, lsm: Fix the file_mprotect LSM test. 2020-04-02 19:42:52 -07:00
verifier bpf: Fix spelling mistake "arithmatic" -> "arithmetic" in test_verifier 2020-04-03 00:29:54 +02:00
.gitignore tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid. 2020-03-12 17:40:47 -07:00
bpf_legacy.h selftests/bpf: samples/bpf: Split off legacy stuff from bpf_helpers.h 2019-10-08 23:16:03 +02:00
bpf_rand.h
bpf_rlimit.h
bpf_tcp_helpers.h libbpf: Merge selftests' bpf_trace_helpers.h into libbpf's bpf_tracing.h 2020-03-02 16:25:14 -08:00
bpf_util.h selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
cgroup_helpers.c selftests/bpf: Correct path to include msg + path 2019-10-03 17:21:57 +02:00
cgroup_helpers.h
config bpf: lsm: Add selftests for BPF_PROG_TYPE_LSM 2020-03-30 01:35:11 +02:00
flow_dissector_load.c
flow_dissector_load.h
get_cgroup_id_user.c
Makefile selftests/bpf: Add vmlinux.h selftest exercising tracing of syscalls 2020-03-13 23:30:53 +01:00
netcnt_common.h
tcp_client.py
tcp_server.py
test_align.c selftests/bpf: fix test_align liveliness expectations 2019-07-06 00:16:56 +02:00
test_bpftool_build.sh selftests, bpftool: Skip the build test if not in tree 2019-11-24 16:58:45 -08:00
test_bpftool.py selftests/bpf: Add test for "bpftool feature" command 2020-02-26 18:34:34 +01:00
test_bpftool.sh selftests/bpf: Add test for "bpftool feature" command 2020-02-26 18:34:34 +01:00
test_btf.c selftests/bpf: Add test for the packed enum member in struct/union 2020-03-10 10:00:41 -07:00
test_btf.h
test_cgroup_storage.c selftests/bpf: fix test_cgroup_storage on s390 2019-08-21 16:55:01 +02:00
test_cpp.cpp selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
test_current_pid_tgid_new_ns.c tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid. 2020-03-12 17:40:47 -07:00
test_dev_cgroup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
test_flow_dissector.c
test_flow_dissector.sh selftests/bpf: Add test based on port range for BPF flow dissector 2020-01-27 11:25:07 +01:00
test_ftrace.sh selftests/bpf: Test function_graph tracer and bpf trampoline together 2019-12-11 15:19:29 -08:00
test_hashmap.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
test_iptunnel_common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
test_kmod.sh
test_lirc_mode2_user.c
test_lirc_mode2.sh
test_lpm_map.c bpf: lpm_trie: check left child of last leftmost node for NULL 2019-06-11 13:52:37 +02:00
test_lru_map.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
test_lwt_ip_encap.sh selftests/bpf: More compatible nc options in test_lwt_ip_encap 2019-10-08 23:59:22 +02:00
test_lwt_seg6local.sh
test_maps.c bpf, sockmap: Allow inserting listening TCP sockets into sockmap 2020-02-21 22:29:45 +01:00
test_maps.h
test_netcnt.c
test_offload.py selftests: bpf: log direct file writes 2019-11-06 09:59:58 -08:00
test_progs.c selftests/bpf: Reset process and thread affinity after each test/sub-test 2020-03-17 19:31:13 +01:00
test_progs.h selftests/bpf: Reset process and thread affinity after each test/sub-test 2020-03-17 19:31:13 +01:00
test_select_reuseport_common.h
test_skb_cgroup_id_user.c selftests/bpf: Don't hard-code root cgroup id 2019-12-04 17:56:22 -08:00
test_skb_cgroup_id.sh
test_sock_addr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
test_sock_addr.sh
test_sock_fields.c
test_sock.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
test_socket_cookie.c selftests/bpf: convert socket_cookie test to sk storage 2019-06-15 01:21:59 +02:00
test_sockmap_kern.h selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
test_sockmap.c selftests: bpf: Use a temporary file in test_sockmap 2020-01-24 22:12:13 +01:00
test_stub.c selftests/bpf: Integrate verbose verifier log into test_progs 2019-11-24 16:58:45 -08:00
test_sysctl.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
test_tag.c
test_tc_edt.sh selftests/bpf: More compatible nc options in test_tc_edt 2019-10-18 22:33:57 +02:00
test_tc_tunnel.sh selftests, bpf: Fix test_tc_tunnel hanging 2019-11-18 21:31:49 +01:00
test_tcp_check_syncookie_user.c selftests/bpf: add test for bpf_tcp_gen_syncookie 2019-07-30 21:03:05 -07:00
test_tcp_check_syncookie.sh selftests/bpf: add test for bpf_tcp_gen_syncookie 2019-07-30 21:03:05 -07:00
test_tcpbpf_user.c selftests/bpf: De-flake test_tcpbpf 2019-12-04 18:01:05 -08:00
test_tcpbpf.h selftests/bpf: De-flake test_tcpbpf 2019-12-04 18:01:05 -08:00
test_tcpnotify_user.c selftests/bpf: switch test_tcpnotify to perf_buffer API 2019-07-23 16:05:42 -07:00
test_tcpnotify.h
test_tunnel.sh selftests/bpf: fail test_tunnel.sh if subtests fail 2019-05-28 11:08:57 +02:00
test_verifier_log.c
test_verifier.c bpf: Add further test_verifier cases for record_func_key 2019-12-19 13:39:22 -08:00
test_xdp_meta.sh
test_xdp_redirect.sh
test_xdp_veth.sh selftests, bpf: Add test for veth native XDP 2019-06-24 18:18:30 -07:00
test_xdp_vlan_mode_generic.sh selftests/bpf: add wrapper scripts for test_xdp_vlan.sh 2019-08-05 11:17:40 -07:00
test_xdp_vlan_mode_native.sh selftests/bpf: add wrapper scripts for test_xdp_vlan.sh 2019-08-05 11:17:40 -07:00
test_xdp_vlan.sh selftests/bpf: reduce time to execute test_xdp_vlan.sh 2019-08-05 11:17:40 -07:00
test_xdping.sh selftests/bpf: measure RTT from xdp using xdping 2019-05-31 19:53:45 -07:00
trace_helpers.c samples, bpf: Move read_trace_pipe to trace_helpers 2020-03-23 22:27:51 +01:00
trace_helpers.h samples, bpf: Move read_trace_pipe to trace_helpers 2020-03-23 22:27:51 +01:00
urandom_read.c
with_addr.sh
with_tunnels.sh
xdping.c selftests: bpf: correct perror strings 2019-11-28 22:40:30 -08:00
xdping.h selftests/bpf: measure RTT from xdp using xdping 2019-05-31 19:53:45 -07:00