lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 12 Dec 2018 10:27:25 -0800
From:   Stanislav Fomichev <sdf@...gle.com>
To:     netdev@...r.kernel.org
Cc:     davem@...emloft.net, ast@...nel.org, daniel@...earbox.net,
        Stanislav Fomichev <sdf@...gle.com>
Subject: [PATCH bpf-next 2/2] selftests/bpf: skip verifier tests that depend
 on CONFIG_BPF_EVENTS

The following prog types don't make sense without bpf cgroup:
* BPF_PROG_TYPE_KPROBE
* BPF_PROG_TYPE_TRACEPOINT
* BPF_PROG_TYPE_PERF_EVENT
* BPF_PROG_TYPE_RAW_TRACEPOINT
* bpf_trace_printk is not available without trace events

Skip running verifier tests that exercise these prog types if
kernel is built without proper support.

See commit e5c504858a18 ("selftests/bpf: skip verifier sockmap tests
on kernels without support") for original motivation.

Signed-off-by: Stanislav Fomichev <sdf@...gle.com>
---
 tools/testing/selftests/bpf/test_verifier.c | 108 ++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
index b5470a399996..5b291daf8948 100644
--- a/tools/testing/selftests/bpf/test_verifier.c
+++ b/tools/testing/selftests/bpf/test_verifier.c
@@ -45,6 +45,7 @@
 # define CONFIG_BPF_STREAM_PARSER 1
 # define CONFIG_XDP_SOCKETS 1
 # define CONFIG_CGROUP_BPF 1
+# define CONFIG_BPF_EVENTS 1
 #endif
 #include "bpf_rlimit.h"
 #include "bpf_rand.h"
@@ -2629,6 +2630,7 @@ static struct bpf_test tests[] = {
 		.errstr_unpriv = "unknown func bpf_trace_printk#6",
 		.result_unpriv = REJECT,
 		.result = ACCEPT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"unpriv: pass pointer to helper function",
@@ -2949,6 +2951,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "same insn cannot be used with different pointers",
 		.prog_type = BPF_PROG_TYPE_PERF_EVENT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"unpriv: write pointer into map elem value",
@@ -4699,6 +4702,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "cannot pass map_type 7 into func bpf_map_lookup_elem",
 		.prog_type = BPF_PROG_TYPE_PERF_EVENT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"prevent map lookup in prog array",
@@ -5582,6 +5586,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"constant register |= constant should not bypass stack boundary checks",
@@ -5597,6 +5602,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid stack type R1 off=-48 access_size=58",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"constant register |= constant register should keep constant type",
@@ -5612,6 +5618,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"constant register |= constant register should not bypass stack boundary checks",
@@ -5628,6 +5635,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid stack type R1 off=-48 access_size=58",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"invalid direct packet write for LWT_IN",
@@ -5887,6 +5895,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: partial range",
@@ -5906,6 +5915,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: empty range",
@@ -5925,6 +5935,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=0 size=0",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: out-of-bound range",
@@ -5945,6 +5956,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=0 size=56",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: negative range",
@@ -5965,6 +5977,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const imm): full range",
@@ -5988,6 +6001,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const imm): partial range",
@@ -6009,6 +6023,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const imm): empty range",
@@ -6030,6 +6045,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=4 size=0",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const imm): out-of-bound range",
@@ -6054,6 +6070,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=4 size=52",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const imm): negative range (> adjustment)",
@@ -6076,6 +6093,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const imm): negative range (< adjustment)",
@@ -6098,6 +6116,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const reg): full range",
@@ -6122,6 +6141,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const reg): partial range",
@@ -6144,6 +6164,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const reg): empty range",
@@ -6165,6 +6186,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R1 min value is outside of the array range",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const reg): out-of-bound range",
@@ -6190,6 +6212,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=4 size=52",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const reg): negative range (> adjustment)",
@@ -6213,6 +6236,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via const reg): negative range (< adjustment)",
@@ -6236,6 +6260,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via variable): full range",
@@ -6261,6 +6286,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via variable): partial range",
@@ -6284,6 +6310,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via variable): empty range",
@@ -6307,6 +6334,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R1 min value is outside of the array range",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via variable): no max check",
@@ -6329,6 +6357,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R1 unbounded memory access",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to adjusted map (via variable): wrong max check",
@@ -6355,6 +6384,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=4 size=45",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using <, good access",
@@ -6378,6 +6408,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using <, bad access",
@@ -6402,6 +6433,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "R1 unbounded memory access",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using <=, good access",
@@ -6425,6 +6457,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using <=, bad access",
@@ -6449,6 +6482,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "R1 unbounded memory access",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using s<, good access",
@@ -6473,6 +6507,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using s<, good access 2",
@@ -6497,6 +6532,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using s<, bad access",
@@ -6522,6 +6558,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "R1 min value is negative",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using s<=, good access",
@@ -6546,6 +6583,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using s<=, good access 2",
@@ -6570,6 +6608,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to map: bounds check using s<=, bad access",
@@ -6595,6 +6634,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "R1 min value is negative",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map access: known scalar += value_ptr",
@@ -6863,6 +6903,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_16b = { 3, 8 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map update helper access to map",
@@ -6883,6 +6924,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_16b = { 3, 10 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map update helper access to map: wrong size",
@@ -6905,6 +6947,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "invalid access to map value, value_size=8 off=0 size=16",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via const imm)",
@@ -6925,6 +6968,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_16b = { 3, 9 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via const imm): out-of-bound 1",
@@ -6946,6 +6990,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "invalid access to map value, value_size=16 off=12 size=8",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via const imm): out-of-bound 2",
@@ -6966,6 +7011,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "invalid access to map value, value_size=16 off=-4 size=8",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via const reg)",
@@ -6987,6 +7033,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_16b = { 3, 10 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via const reg): out-of-bound 1",
@@ -7009,6 +7056,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "invalid access to map value, value_size=16 off=12 size=8",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via const reg): out-of-bound 2",
@@ -7030,6 +7078,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "invalid access to map value, value_size=16 off=-4 size=8",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via variable)",
@@ -7052,6 +7101,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_16b = { 3, 11 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via variable): no max check",
@@ -7073,6 +7123,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "R2 unbounded memory access, make sure to bounds check any array access into a map",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map helper access to adjusted map (via variable): wrong max check",
@@ -7096,6 +7147,7 @@ static struct bpf_test tests[] = {
 		.result = REJECT,
 		.errstr = "invalid access to map value, value_size=16 off=9 size=8",
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"map element value is preserved across register spilling",
@@ -7366,6 +7418,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, bitwise AND, zero included",
@@ -7383,6 +7436,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid indirect read from stack off -64+0 size 64",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, bitwise AND + JMP, wrong max",
@@ -7403,6 +7457,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid stack type R1 off=-64 access_size=65",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP, correct bounds",
@@ -7431,6 +7486,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP (signed), correct bounds",
@@ -7459,6 +7515,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP, bounds + offset",
@@ -7480,6 +7537,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid stack type R1 off=-64 access_size=65",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP, wrong max",
@@ -7500,6 +7558,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid stack type R1 off=-64 access_size=65",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP, no max check",
@@ -7520,6 +7579,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative, either use unsigned or 'var &= const'",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP, no min check",
@@ -7538,6 +7598,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid indirect read from stack off -64+0 size 64",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: stack, JMP (signed), no min check",
@@ -7556,6 +7617,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R2 min value is negative",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: map, JMP, correct bounds",
@@ -7582,6 +7644,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: map, JMP, wrong max",
@@ -7609,6 +7672,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid access to map value, value_size=48 off=0 size=49",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: map adjusted, JMP, correct bounds",
@@ -7636,6 +7700,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: map adjusted, JMP, wrong max",
@@ -7664,6 +7729,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R1 min value is outside of the array range",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: size = 0 allowed on NULL (ARG_PTR_TO_MEM_OR_NULL)",
@@ -7820,6 +7886,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R1 type=inv expected=fp",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: size > 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL)",
@@ -7833,6 +7900,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R1 type=inv expected=fp",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: size = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL)",
@@ -7846,6 +7914,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: size = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL)",
@@ -7865,6 +7934,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_8b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL)",
@@ -7886,6 +7956,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_8b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: size possible = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL)",
@@ -7906,6 +7977,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_8b = { 3 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: 8 bytes leak",
@@ -7933,6 +8005,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid indirect read from stack off -64+32 size 64",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"helper access to variable memory: 8 bytes no leak (init memory)",
@@ -7959,6 +8032,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"invalid and of negative number",
@@ -8264,6 +8338,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_PERF_EVENT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"check bpf_perf_event_data->sample_period half load permitted",
@@ -8280,6 +8355,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_PERF_EVENT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"check bpf_perf_event_data->sample_period word load permitted",
@@ -8296,6 +8372,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_PERF_EVENT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"check bpf_perf_event_data->sample_period dword load permitted",
@@ -8307,6 +8384,7 @@ static struct bpf_test tests[] = {
 		},
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_PERF_EVENT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"check skb->data half load not permitted",
@@ -10878,6 +10956,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.result = ACCEPT,
 	},
 	{
@@ -10986,6 +11065,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "last insn is not an exit or jmp",
 		.result = REJECT,
 	},
@@ -11001,6 +11081,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "jump out of range",
 		.result = REJECT,
 	},
@@ -11012,6 +11093,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "BPF_CALL uses reserved fields",
 		.result = REJECT,
 	},
@@ -11025,6 +11107,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "BPF_CALL uses reserved fields",
 		.result = REJECT,
 	},
@@ -11036,6 +11119,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "back-edge from insn 0 to 0",
 		.result = REJECT,
 	},
@@ -11052,6 +11136,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "jump out of range",
 		.result = REJECT,
 	},
@@ -11070,6 +11155,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.result = ACCEPT,
 	},
 	{
@@ -11087,6 +11173,7 @@ static struct bpf_test tests[] = {
 			BPF_JMP_IMM(BPF_JA, 0, 0, -6),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "back-edge from insn",
 		.result = REJECT,
 	},
@@ -11105,6 +11192,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.result = ACCEPT,
 	},
 	{
@@ -11122,6 +11210,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "back-edge from insn",
 		.result = REJECT,
 	},
@@ -11136,6 +11225,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "back-edge from insn",
 		.result = REJECT,
 	},
@@ -11148,6 +11238,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.result = ACCEPT,
 	},
 	{
@@ -11158,6 +11249,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "!read_ok",
 		.result = REJECT,
 	},
@@ -11196,6 +11288,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "R2 !read_ok",
 		.result = REJECT,
 	},
@@ -11354,6 +11447,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "jump out of range from insn 11 to 9",
 		.result = REJECT,
 	},
@@ -11366,6 +11460,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "back-edge",
 		.result = REJECT,
 	},
@@ -11378,6 +11473,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "back-edge",
 		.result = REJECT,
 	},
@@ -11394,6 +11490,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "unreachable insn 6",
 		.result = REJECT,
 	},
@@ -11406,6 +11503,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "invalid destination",
 		.result = REJECT,
 	},
@@ -11418,6 +11516,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "invalid destination",
 		.result = REJECT,
 	},
@@ -11431,6 +11530,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "jump out of range",
 		.result = REJECT,
 	},
@@ -11444,6 +11544,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "jump out of range",
 		.result = REJECT,
 	},
@@ -11458,6 +11559,7 @@ static struct bpf_test tests[] = {
 			BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, -2),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "not an exit",
 		.result = REJECT,
 	},
@@ -11472,6 +11574,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "last insn",
 		.result = REJECT,
 	},
@@ -11487,6 +11590,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "last insn",
 		.result = REJECT,
 	},
@@ -11532,6 +11636,7 @@ static struct bpf_test tests[] = {
 			BPF_EXIT_INSN(),
 		},
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 		.errstr = "not an exit",
 		.result = REJECT,
 	},
@@ -12914,6 +13019,7 @@ static struct bpf_test tests[] = {
 		.errstr = "R6 invalid mem access 'inv'",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"search pruning: all branches should be verified (invalid stack access)",
@@ -12938,6 +13044,7 @@ static struct bpf_test tests[] = {
 		.errstr = "invalid read from stack off -16+0 size 8",
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"jit: lsh, rsh, arsh by 1",
@@ -13170,6 +13277,7 @@ static struct bpf_test tests[] = {
 		.fixup_map_hash_48b = { 4 },
 		.result = ACCEPT,
 		.prog_type = BPF_PROG_TYPE_TRACEPOINT,
+		.config_disabled = !IS_BUILTIN(CONFIG_BPF_EVENTS),
 	},
 	{
 		"ld_abs: invalid op 1",
-- 
2.20.0.rc2.403.gdbc3b29805-goog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ