[SRU][Bionic][PATCH 0/1] Fix for LP: #1753941

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU][Bionic][PATCH 0/1] Fix for LP: #1753941

Kleber Souza
BugLink: https://bugs.launchpad.net/bugs/1753941

== SRU Justification ==
The ubuntu_bpf_jit test will fail with the following 5 test cases:

test_bpf: #292 BPF_MAXINSNS: Ctx heavy transformations FAIL to prog_create err=-524 len=4096
test_bpf: #293 BPF_MAXINSNS: Call heavy transformations FAIL to prog_create err=-524 len=4096
test_bpf: #298 BPF_MAXINSNS: ld_abs+get_processor_id FAIL to prog_create err=-524 len=4096
test_bpf: #299 BPF_MAXINSNS: ld_abs+vlan_push/pop FAIL to select_runtime err=-524
test_bpf: #300 BPF_MAXINSNS: jump around ld_abs FAIL to select_runtime err=-524

test_bpf: Summary: 337 PASSED, 5 FAILED, [329/329 JIT'ed]

And modprobe error can be found in the report as well:
modprobe: ERROR: could not insert 'test_bpf': Invalid argument

Issue can be reproduce on both zVM and Ubuntu on LPAR s390x systems.

== Fix ==
3203c9010060 ("test_bpf: flag tests that cannot be jited on s390")

A backport of the fix is needed to compile out "BPF_MAXINSNS:
ld_abs+vlan_push/pop" and "BPF_MAXINSNS: jump around ld_abs" testcases. They
have been removed from lib/test_bpf.c with 93731ef086ce ("bpf: migrate ebpf
ld_abs/ld_ind tests to test_verifier"), however, backporting this patch would
require pulling other patches as prereqs.

== Regression Potential ==
None, the fix is in a test module and only masks failing testcases on s390 only.

== Test Case ==
Load the test_bpf module, it should load without errors.

Kleber Sacilotto de Souza (1):
  test_bpf: flag tests that cannot be jited on s390

 lib/test_bpf.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU][Bionic][PATCH 1/1] test_bpf: flag tests that cannot be jited on s390

Kleber Souza
BugLink: https://bugs.launchpad.net/bugs/1753941

Flag with FLAG_EXPECTED_FAIL the BPF_MAXINSNS tests that cannot be jited
on s390 because they exceed BPF_SIZE_MAX and fail when
CONFIG_BPF_JIT_ALWAYS_ON is set. Also set .expected_errcode to -ENOTSUPP
so the tests pass in that case.

Signed-off-by: Kleber Sacilotto de Souza <[hidden email]>
Acked-by: Song Liu <[hidden email]>
Signed-off-by: Daniel Borkmann <[hidden email]>
(backported from commit 3203c9010060806ff88c9989aeab4dc8d9a474dc)
[ klebers: compile out for s390 also the testcases:
  - BPF_MAXINSNS: ld_abs+vlan_push/pop
  - BPF_MAXINSNS: jump around ld_abs ]
Signed-off-by: Kleber Sacilotto de Souza <[hidden email]>
---
 lib/test_bpf.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/lib/test_bpf.c b/lib/test_bpf.c
index 59359aad645d..1fe4d4b33217 100644
--- a/lib/test_bpf.c
+++ b/lib/test_bpf.c
@@ -5419,21 +5419,31 @@ static struct bpf_test tests[] = {
  { /* Mainly checking JIT here. */
  "BPF_MAXINSNS: Ctx heavy transformations",
  { },
+#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390)
+ CLASSIC | FLAG_EXPECTED_FAIL,
+#else
  CLASSIC,
+#endif
  { },
  {
  {  1, !!(SKB_VLAN_TCI & VLAN_TAG_PRESENT) },
  { 10, !!(SKB_VLAN_TCI & VLAN_TAG_PRESENT) }
  },
  .fill_helper = bpf_fill_maxinsns6,
+ .expected_errcode = -ENOTSUPP,
  },
  { /* Mainly checking JIT here. */
  "BPF_MAXINSNS: Call heavy transformations",
  { },
+#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390)
+ CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
+#else
  CLASSIC | FLAG_NO_DATA,
+#endif
  { },
  { { 1, 0 }, { 10, 0 } },
  .fill_helper = bpf_fill_maxinsns7,
+ .expected_errcode = -ENOTSUPP,
  },
  { /* Mainly checking JIT here. */
  "BPF_MAXINSNS: Jump heavy test",
@@ -5475,11 +5485,17 @@ static struct bpf_test tests[] = {
  {
  "BPF_MAXINSNS: ld_abs+get_processor_id",
  { },
+#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390)
+ CLASSIC | FLAG_EXPECTED_FAIL,
+#else
  CLASSIC,
+#endif
  { },
  { { 1, 0xbee } },
  .fill_helper = bpf_fill_ld_abs_get_processor_id,
+ .expected_errcode = -ENOTSUPP,
  },
+#if !(defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390))
  {
  "BPF_MAXINSNS: ld_abs+vlan_push/pop",
  { },
@@ -5496,6 +5512,7 @@ static struct bpf_test tests[] = {
  { { 2, 10 } },
  .fill_helper = bpf_fill_jump_around_ld_abs,
  },
+#endif
  /*
  * LD_IND / LD_ABS on fragmented SKBs
  */
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team