[SRU Bionic 2/2] UBUNTU: SAUCE: Revert "bpf: add also cbpf long jump test cases with heavy expansion"

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Wed Dec 8 14:27:11 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1953287

This reverts commit c81e233337432b036833db932da4b243dffca830, which is
upstream commit be08815c5d3b25e53cd9b53a4d768d5f3d93ba25.

The test is expected to fail because it would expand the instructions further
than the longest jump offset. However, this was not the case before
e0cea7ce988c ("bpf: implement ld_abs/ld_ind in native bpf").

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at canonical.com>
---
 lib/test_bpf.c | 63 --------------------------------------------------
 1 file changed, 63 deletions(-)

diff --git a/lib/test_bpf.c b/lib/test_bpf.c
index 9475b3af07a9..d89d9d8da469 100644
--- a/lib/test_bpf.c
+++ b/lib/test_bpf.c
@@ -355,52 +355,6 @@ static int bpf_fill_maxinsns11(struct bpf_test *self)
 	return __bpf_fill_ja(self, BPF_MAXINSNS, 68);
 }
 
-static int bpf_fill_maxinsns12(struct bpf_test *self)
-{
-	unsigned int len = BPF_MAXINSNS;
-	struct sock_filter *insn;
-	int i = 0;
-
-	insn = kmalloc_array(len, sizeof(*insn), GFP_KERNEL);
-	if (!insn)
-		return -ENOMEM;
-
-	insn[0] = __BPF_JUMP(BPF_JMP | BPF_JA, len - 2, 0, 0);
-
-	for (i = 1; i < len - 1; i++)
-		insn[i] = __BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0);
-
-	insn[len - 1] = __BPF_STMT(BPF_RET | BPF_K, 0xabababab);
-
-	self->u.ptr.insns = insn;
-	self->u.ptr.len = len;
-
-	return 0;
-}
-
-static int bpf_fill_maxinsns13(struct bpf_test *self)
-{
-	unsigned int len = BPF_MAXINSNS;
-	struct sock_filter *insn;
-	int i = 0;
-
-	insn = kmalloc_array(len, sizeof(*insn), GFP_KERNEL);
-	if (!insn)
-		return -ENOMEM;
-
-	for (i = 0; i < len - 3; i++)
-		insn[i] = __BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0);
-
-	insn[len - 3] = __BPF_STMT(BPF_LD | BPF_IMM, 0xabababab);
-	insn[len - 2] = __BPF_STMT(BPF_ALU | BPF_XOR | BPF_X, 0);
-	insn[len - 1] = __BPF_STMT(BPF_RET | BPF_A, 0);
-
-	self->u.ptr.insns = insn;
-	self->u.ptr.len = len;
-
-	return 0;
-}
-
 static int bpf_fill_ja(struct bpf_test *self)
 {
 	/* Hits exactly 11 passes on x86_64 JIT. */
@@ -5532,23 +5486,6 @@ static struct bpf_test tests[] = {
 		.fill_helper = bpf_fill_maxinsns11,
 		.expected_errcode = -ENOTSUPP,
 	},
-	{
-		"BPF_MAXINSNS: jump over MSH",
-		{ },
-		CLASSIC | FLAG_EXPECTED_FAIL,
-		{ 0xfa, 0xfb, 0xfc, 0xfd, },
-		{ { 4, 0xabababab } },
-		.fill_helper = bpf_fill_maxinsns12,
-		.expected_errcode = -EINVAL,
-	},
-	{
-		"BPF_MAXINSNS: exec all MSH",
-		{ },
-		CLASSIC,
-		{ 0xfa, 0xfb, 0xfc, 0xfd, },
-		{ { 4, 0xababab83 } },
-		.fill_helper = bpf_fill_maxinsns13,
-	},
 	{
 		"BPF_MAXINSNS: ld_abs+get_processor_id",
 		{ },
-- 
2.32.0




More information about the kernel-team mailing list