Re: [LKP] [selftests/bpf] 69d96519db: kernel_selftests.bpf.test_socket_cookie.fail
by Rong Chen
On 6/22/19 6:27 AM, Stanislav Fomichev wrote:
> On 06/21, Andrii Nakryiko wrote:
>> )
>>
>> On Fri, Jun 21, 2019 at 9:11 AM Stanislav Fomichev <sdf(a)fomichev.me> wrote:
>>> On 06/21, kernel test robot wrote:
>>>> FYI, we noticed the following commit (built with gcc-7):
>>>>
>>>> commit: 69d96519dbf0bfa1868dc8597d4b9b2cdeb009d7 ("selftests/bpf: convert socket_cookie test to sk storage")
>>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
>>>>
>>>> in testcase: kernel_selftests
>>>> with following parameters:
>>>>
>>>> group: kselftests-00
>>>>
>>>> test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
>>>> test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
>>>>
>>>>
>>>> on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 4G
>>>>
>>>> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
>>>>
>>>>
>>>> If you fix the issue, kindly add following tag
>>>> Reported-by: kernel test robot <rong.a.chen(a)intel.com>
>>>>
>>>> # selftests: bpf: test_socket_cookie
>>>> # libbpf: failed to create map (name: 'socket_cookies'): Invalid
>>>> # argument
>>> Another case of old clang trying to create a map that depends on BTF?
>>> Should we maybe switch those BTF checks in the kernel to return
>>> EOPNOTSUPP to make it easy to diagnose?
>> For older compilers that don't generate DATASEC/VAR, you'll see a clear message:
>>
>> libbpf: DATASEC '.maps' not found.
>>
>> So this must be something else. I just confirmed with clang version
>> 7.0.20180201 that for ./test_socket_cookie that's the first line
>> that's emitted on failure.
> Thanks for checking, I also took a look at the attached kernel_selftests.xz,
> here is what it has:
> 2019-06-21 11:58:35 ln -sf /usr/bin/clang-6.0 /usr/bin/clang
> 2019-06-21 11:58:35 ln -sf /usr/bin/llc-6.0 /usr/bin/llc
> ...
> # BTF libbpf test[1] (test_btf_haskv.o): SKIP. No ELF .BTF found
> # BTF libbpf test[2] (test_btf_nokv.o): SKIP. No ELF .BTF found
> ...
> # Test case #0 (btf_dump_test_case_syntax): test_btf_dump_case:71:FAIL
> # failed to load test BTF: -2
> # Test case #1 (btf_dump_test_case_ordering): test_btf_dump_case:71:FAIL
> # failed to load test BTF: -2
> ...
>
> And so on. So there is clearly an old clang that doesn't emit any
> BTF. And I also don't see your recent abd29c931459 before 69d96519dbf0 in
> linux-next, that's why it doesn't complain about missing/corrupt BTF.
>
> We need to convince lkp people to upgrade clang, otherwise, I suppose,
> we'll get more of these reportings after your recent df0b77925982 :-(
Thanks for the clarification, we'll upgrade clang asap.
Best Regards,
Rong Chen
>
>>>> # libbpf: failed to load object './socket_cookie_prog.o'
>>>> # (test_socket_cookie.c:149: errno: Invalid argument) Failed to load
>>>> # ./socket_cookie_prog.o
>>>> # FAILED
>>>> not ok 15 selftests: bpf: test_socket_cookie
>>>>
>>>>
>>>>
>>>>
>>>> To reproduce:
>>>>
>>>> # build kernel
>>>> cd linux
>>>> cp config-5.2.0-rc2-00598-g69d9651 .config
>>>> make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 olddefconfig
>>>> make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 prepare
>>>> make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 modules_prepare
>>>> make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 SHELL=/bin/bash
>>>> make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 bzImage
>>>>
>>>>
>>>> git clone https://github.com/intel/lkp-tests.git
>>>> cd lkp-tests
>>>> bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> Rong Chen
>>>>
>> <mega snip>
1 year, 6 months
Re: [LKP] 6c409a3aee: kernel_selftests.bpf.test_verifier.fail
by Rong Chen
On 6/21/19 11:52 PM, Alexei Starovoitov wrote:
> On Fri, Jun 21, 2019 at 1:36 AM kernel test robot <rong.a.chen(a)intel.com> wrote:
>> # #340/p direct packet access: test22 (x += pkt_ptr, 3) OK
>> # #341/p direct packet access: test23 (x += pkt_ptr, 4) FAIL
>> # Unexpected success to load!
>> # verification time 17 usec
>> # stack depth 8
>> # processed 18 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
>> # #342/p direct packet access: test24 (x += pkt_ptr, 5) OK
>> # #343/p direct packet access: test25 (marking on <, good access) OK
> ..
>> # #673/p meta access, test9 OK
>> # #674/p meta access, test10 FAIL
>> # Unexpected success to load!
>> # verification time 29 usec
>> # stack depth 8
>> # processed 19 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
>> # #675/p meta access, test11 OK
> Hi Rong,
>
> the patch quoted is not in bpf-next/net-next.
> This patch is work-in-progress that I posted to mailing list
> and pushed into my own git branch on kernel.org.
> It's awesome that build bot does this early testing.
> I really like it.
> Would be great if the bot can add a tag to email subject that it's testing
> this not yet merged patch.
>
> Right now since the email says
> commit: 6c409a3aee945e50c6dd4109689f52
> it felt that this is real commit and my initial reaction
> was that 'ohh something is broken in the merge code'
> which wasn't the case :)
Hi Alexei,
Thanks for the advice, we'll improve the email subject.
Best Regards,
Rong Chen
1 year, 6 months
Re: [LKP] [x86/hpet] 286b15db78: BUG:KASAN:wild-memory-access_in_t
by Thomas Gleixner
On Thu, 20 Jun 2019, Hillf Danton wrote:
> >
> > +------------------------------------------+------------+------------+
> > | | dfd001e50c | 286b15db78 |
> > +------------------------------------------+------------+------------+
> > | boot_successes | 14 | 0 |
> > | boot_failures | 0 | 16 |
> > | BUG:KASAN:wild-memory-access_in_t | 0 | 16 |
> > | general_protection_fault:#[##] | 0 | 16 |
> > | RIP:try_module_get | 0 | 16 |
> > | Kernel_panic-not_syncing:Fatal_exception | 0 | 16 |
> > +------------------------------------------+------------+------------+
> >
> >
> > If you fix the issue, kindly add following tag
> > Reported-by: kernel test robot <rong.a.chen(a)intel.com>
> >
> >
> > [ 2.801166] BUG: KASAN: wild-memory-access in try_module_get+0x78/0x1bf
> > [ 2.803334] Read of size 4 at addr 6b6b6b6b6b6b6b6b by task swapper/0
Yuck.
> >
> Try to pump up module after checking it is valid only if .owner = THIS_MODULE
> does not help in the case of hpet.
Errrm?
> Hillf
> ---
> kernel/time/tick-common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
> index 529143b..1b33215 100644
> --- a/kernel/time/tick-common.c
> +++ b/kernel/time/tick-common.c
> @@ -311,7 +311,7 @@ void tick_check_new_device(struct clock_event_device *newdev)
> if (!tick_check_preferred(curdev, newdev))
> goto out_bc;
>
> - if (!try_module_get(newdev->owner))
> + if (newdev->owner && !try_module_get(newdev->owner))
How does that prevent the above? That's not about a NULL pointer. Its
simply uninitialized memory.
Aside that the check is pointless as try_module_get() has a NULL pointer
check inside already.
Thanks,
tglx
1 year, 6 months
[selftests/bpf] 69d96519db: kernel_selftests.bpf.test_socket_cookie.fail
by kernel test robot
FYI, we noticed the following commit (built with gcc-7):
commit: 69d96519dbf0bfa1868dc8597d4b9b2cdeb009d7 ("selftests/bpf: convert socket_cookie test to sk storage")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
in testcase: kernel_selftests
with following parameters:
group: kselftests-00
test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 4G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
If you fix the issue, kindly add following tag
Reported-by: kernel test robot <rong.a.chen(a)intel.com>
# selftests: bpf: test_socket_cookie
# libbpf: failed to create map (name: 'socket_cookies'): Invalid
# argument
# libbpf: failed to load object './socket_cookie_prog.o'
# (test_socket_cookie.c:149: errno: Invalid argument) Failed to load
# ./socket_cookie_prog.o
# FAILED
not ok 15 selftests: bpf: test_socket_cookie
To reproduce:
# build kernel
cd linux
cp config-5.2.0-rc2-00598-g69d9651 .config
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 olddefconfig
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 modules_prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 SHELL=/bin/bash
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 bzImage
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
Thanks,
Rong Chen
1 year, 6 months
6c409a3aee: kernel_selftests.bpf.test_verifier.fail
by kernel test robot
FYI, we noticed the following commit (built with gcc-7):
commit: 6c409a3aee945e50c6dd4109689f523dc0dc6fed ("[PATCH bpf-next] bpf: relax tracking of variable offset in packet pointers")
url: https://github.com/0day-ci/linux/commits/Alexei-Starovoitov/bpf-relax-tra...
base: https://git.kernel.org/cgit/linux/kernel/git/bpf/bpf-next.git master
in testcase: kernel_selftests
with following parameters:
group: kselftests-00
test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 4G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
If you fix the issue, kindly add following tag
Reported-by: kernel test robot <rong.a.chen(a)intel.com>
# selftests: bpf: test_verifier
# #0/u invalid and of negative number OK
# #0/p invalid and of negative number OK
# #1/u invalid range check OK
# #1/p invalid range check OK
# #2/u valid map access into an array with a constant OK
# #2/p valid map access into an array with a constant OK
# #3/u valid map access into an array with a register OK
# #3/p valid map access into an array with a register OK
# #4/u valid map access into an array with a variable OK
# #4/p valid map access into an array with a variable OK
# #5/u valid map access into an array with a signed variable OK
# #5/p valid map access into an array with a signed variable OK
# #6/u invalid map access into an array with a constant OK
# #6/p invalid map access into an array with a constant OK
# #7/u invalid map access into an array with a register OK
# #7/p invalid map access into an array with a register OK
# #8/u invalid map access into an array with a variable OK
# #8/p invalid map access into an array with a variable OK
# #9/u invalid map access into an array with no floor check OK
# #9/p invalid map access into an array with no floor check OK
# #10/u invalid map access into an array with a invalid max check OK
# #10/p invalid map access into an array with a invalid max check OK
# #11/u invalid map access into an array with a invalid max check OK
# #11/p invalid map access into an array with a invalid max check OK
# #12/u valid read map access into a read-only array 1 OK
# #12/p valid read map access into a read-only array 1 OK
# #13/p valid read map access into a read-only array 2 OK
# #14/u invalid write map access into a read-only array 1 OK
# #14/p invalid write map access into a read-only array 1 OK
# #15/p invalid write map access into a read-only array 2 OK
# #16/u valid write map access into a write-only array 1 OK
# #16/p valid write map access into a write-only array 1 OK
# #17/p valid write map access into a write-only array 2 OK
# #18/u invalid read map access into a write-only array 1 OK
# #18/p invalid read map access into a write-only array 1 OK
# #19/p invalid read map access into a write-only array 2 OK
# #20/u empty prog OK
# #20/p empty prog OK
# #21/u only exit insn OK
# #21/p only exit insn OK
# #22/u no bpf_exit OK
# #22/p no bpf_exit OK
# #23/u invalid call insn1 OK
# #23/p invalid call insn1 OK
# #24/u invalid call insn2 OK
# #24/p invalid call insn2 OK
# #25/u invalid function call OK
# #25/p invalid function call OK
# #26/p invalid argument register OK
# #27/p non-invalid argument register OK
# #28/u add+sub+mul OK
# #28/p add+sub+mul OK
# #29/p xor32 zero extend check OK
# #30/u arsh32 on imm OK
# #30/p arsh32 on imm OK
# #31/u arsh32 on imm 2 OK
# #31/p arsh32 on imm 2 OK
# #32/u arsh32 on reg OK
# #32/p arsh32 on reg OK
# #33/u arsh32 on reg 2 OK
# #33/p arsh32 on reg 2 OK
# #34/u arsh64 on imm OK
# #34/p arsh64 on imm OK
# #35/u arsh64 on reg OK
# #35/p arsh64 on reg OK
# #36/u invalid 64-bit BPF_END OK
# #36/p invalid 64-bit BPF_END OK
# #37/p mov64 src == dst OK
# #38/p mov64 src != dst OK
# #39/u stack out of bounds OK
# #39/p stack out of bounds OK
# #40/u uninitialized stack1 OK
# #40/p uninitialized stack1 OK
# #41/u uninitialized stack2 OK
# #41/p uninitialized stack2 OK
# #42/u invalid fp arithmetic OK
# #42/p invalid fp arithmetic OK
# #43/u non-invalid fp arithmetic OK
# #43/p non-invalid fp arithmetic OK
# #44/u misaligned read from stack OK
# #44/p misaligned read from stack OK
# #45/u invalid src register in STX OK
# #45/p invalid src register in STX OK
# #46/u invalid dst register in STX OK
# #46/p invalid dst register in STX OK
# #47/u invalid dst register in ST OK
# #47/p invalid dst register in ST OK
# #48/u invalid src register in LDX OK
# #48/p invalid src register in LDX OK
# #49/u invalid dst register in LDX OK
# #49/p invalid dst register in LDX OK
# #50/u subtraction bounds (map value) variant 1 OK
# #50/p subtraction bounds (map value) variant 1 OK
# #51/u subtraction bounds (map value) variant 2 OK
# #51/p subtraction bounds (map value) variant 2 OK
# #52/u check subtraction on pointers for unpriv OK
# #52/p check subtraction on pointers for unpriv OK
# #53/u bounds check based on zero-extended MOV OK
# #53/p bounds check based on zero-extended MOV OK
# #54/u bounds check based on sign-extended MOV. test1 OK
# #54/p bounds check based on sign-extended MOV. test1 OK
# #55/u bounds check based on sign-extended MOV. test2 OK
# #55/p bounds check based on sign-extended MOV. test2 OK
# #56/p bounds check based on reg_off + var_off + insn_off. test1 OK
# #57/p bounds check based on reg_off + var_off + insn_off. test2 OK
# #58/u bounds check after truncation of non-boundary-crossing range OK
# #58/p bounds check after truncation of non-boundary-crossing range OK
# #59/u bounds check after truncation of boundary-crossing range (1) OK
# #59/p bounds check after truncation of boundary-crossing range (1) OK
# #60/u bounds check after truncation of boundary-crossing range (2) OK
# #60/p bounds check after truncation of boundary-crossing range (2) OK
# #61/u bounds check after wrapping 32-bit addition OK
# #61/p bounds check after wrapping 32-bit addition OK
# #62/u bounds check after shift with oversized count operand OK
# #62/p bounds check after shift with oversized count operand OK
# #63/u bounds check after right shift of maybe-negative number OK
# #63/p bounds check after right shift of maybe-negative number OK
# #64/u bounds check after 32-bit right shift with 64-bit input OK
# #64/p bounds check after 32-bit right shift with 64-bit input OK
# #65/u bounds check map access with off+size signed 32bit overflow. test1 OK
# #65/p bounds check map access with off+size signed 32bit overflow. test1 OK
# #66/u bounds check map access with off+size signed 32bit overflow. test2 OK
# #66/p bounds check map access with off+size signed 32bit overflow. test2 OK
# #67/u bounds check map access with off+size signed 32bit overflow. test3 OK
# #67/p bounds check map access with off+size signed 32bit overflow. test3 OK
# #68/u bounds check map access with off+size signed 32bit overflow. test4 OK
# #68/p bounds check map access with off+size signed 32bit overflow. test4 OK
# #69/u check deducing bounds from const, 1 OK
# #69/p check deducing bounds from const, 1 OK
# #70/u check deducing bounds from const, 2 OK
# #70/p check deducing bounds from const, 2 OK
# #71/u check deducing bounds from const, 3 OK
# #71/p check deducing bounds from const, 3 OK
# #72/u check deducing bounds from const, 4 OK
# #72/p check deducing bounds from const, 4 OK
# #73/u check deducing bounds from const, 5 OK
# #73/p check deducing bounds from const, 5 OK
# #74/u check deducing bounds from const, 6 OK
# #74/p check deducing bounds from const, 6 OK
# #75/u check deducing bounds from const, 7 OK
# #75/p check deducing bounds from const, 7 OK
# #76/u check deducing bounds from const, 8 OK
# #76/p check deducing bounds from const, 8 OK
# #77/u check deducing bounds from const, 9 OK
# #77/p check deducing bounds from const, 9 OK
# #78/u check deducing bounds from const, 10 OK
# #78/p check deducing bounds from const, 10 OK
# #79/u bounds checks mixing signed and unsigned, positive bounds OK
# #79/p bounds checks mixing signed and unsigned, positive bounds OK
# #80/u bounds checks mixing signed and unsigned OK
# #80/p bounds checks mixing signed and unsigned OK
# #81/u bounds checks mixing signed and unsigned, variant 2 OK
# #81/p bounds checks mixing signed and unsigned, variant 2 OK
# #82/u bounds checks mixing signed and unsigned, variant 3 OK
# #82/p bounds checks mixing signed and unsigned, variant 3 OK
# #83/u bounds checks mixing signed and unsigned, variant 4 OK
# #83/p bounds checks mixing signed and unsigned, variant 4 OK
# #84/u bounds checks mixing signed and unsigned, variant 5 OK
# #84/p bounds checks mixing signed and unsigned, variant 5 OK
# #85/u bounds checks mixing signed and unsigned, variant 6 OK
# #85/p bounds checks mixing signed and unsigned, variant 6 OK
# #86/u bounds checks mixing signed and unsigned, variant 7 OK
# #86/p bounds checks mixing signed and unsigned, variant 7 OK
# #87/u bounds checks mixing signed and unsigned, variant 8 OK
# #87/p bounds checks mixing signed and unsigned, variant 8 OK
# #88/u bounds checks mixing signed and unsigned, variant 9 OK
# #88/p bounds checks mixing signed and unsigned, variant 9 OK
# #89/u bounds checks mixing signed and unsigned, variant 10 OK
# #89/p bounds checks mixing signed and unsigned, variant 10 OK
# #90/u bounds checks mixing signed and unsigned, variant 11 OK
# #90/p bounds checks mixing signed and unsigned, variant 11 OK
# #91/u bounds checks mixing signed and unsigned, variant 12 OK
# #91/p bounds checks mixing signed and unsigned, variant 12 OK
# #92/u bounds checks mixing signed and unsigned, variant 13 OK
# #92/p bounds checks mixing signed and unsigned, variant 13 OK
# #93/u bounds checks mixing signed and unsigned, variant 14 OK
# #93/p bounds checks mixing signed and unsigned, variant 14 OK
# #94/u bounds checks mixing signed and unsigned, variant 15 OK
# #94/p bounds checks mixing signed and unsigned, variant 15 OK
# #95/p bpf_get_stack return R0 within range OK
# #96/p calls: basic sanity OK
# #97/u calls: not on unpriviledged OK
# #97/p calls: not on unpriviledged OK
# #98/p calls: div by 0 in subprog OK
# #99/p calls: multiple ret types in subprog 1 OK
# #100/p calls: multiple ret types in subprog 2 OK
# #101/p calls: overlapping caller/callee OK
# #102/p calls: wrong recursive calls OK
# #103/p calls: wrong src reg OK
# #104/p calls: wrong off value OK
# #105/p calls: jump back loop OK
# #106/p calls: conditional call OK
# #107/p calls: conditional call 2 OK
# #108/u calls: conditional call 3 OK
# #108/p calls: conditional call 3 OK
# #109/p calls: conditional call 4 OK
# #110/p calls: conditional call 5 OK
# #111/p calls: conditional call 6 OK
# #112/p calls: using r0 returned by callee OK
# #113/p calls: using uninit r0 from callee OK
# #114/p calls: callee is using r1 OK
# #115/u calls: callee using args1 OK
# #115/p calls: callee using args1 OK
# #116/p calls: callee using wrong args2 OK
# #117/u calls: callee using two args OK
# #117/p calls: callee using two args OK
# #118/p calls: callee changing pkt pointers OK
# #119/u calls: ptr null check in subprog OK
# #119/p calls: ptr null check in subprog OK
# #120/p calls: two calls with args OK
# #121/p calls: calls with stack arith OK
# #122/p calls: calls with misaligned stack access OK
# #123/p calls: calls control flow, jump test OK
# #124/p calls: calls control flow, jump test 2 OK
# #125/p calls: two calls with bad jump OK
# #126/p calls: recursive call. test1 OK
# #127/p calls: recursive call. test2 OK
# #128/p calls: unreachable code OK
# #129/p calls: invalid call OK
# #130/p calls: invalid call 2 OK
# #131/p calls: jumping across function bodies. test1 OK
# #132/p calls: jumping across function bodies. test2 OK
# #133/p calls: call without exit OK
# #134/p calls: call into middle of ld_imm64 OK
# #135/p calls: call into middle of other call OK
# #136/p calls: ld_abs with changing ctx data in callee OK
# #137/p calls: two calls with bad fallthrough OK
# #138/p calls: two calls with stack read OK
# #139/p calls: two calls with stack write OK
# #140/p calls: stack overflow using two frames (pre-call access) OK
# #141/p calls: stack overflow using two frames (post-call access) OK
# #142/p calls: stack depth check using three frames. test1 OK
# #143/p calls: stack depth check using three frames. test2 OK
# #144/p calls: stack depth check using three frames. test3 OK
# #145/p calls: stack depth check using three frames. test4 OK
# #146/p calls: stack depth check using three frames. test5 OK
# #147/p calls: stack depth check in dead code OK
# #148/p calls: spill into caller stack frame OK
# #149/p calls: write into caller stack frame OK
# #150/p calls: write into callee stack frame OK
# #151/p calls: two calls with stack write and void return OK
# #152/u calls: ambiguous return value OK
# #152/p calls: ambiguous return value OK
# #153/p calls: two calls that return map_value OK
# #154/p calls: two calls that return map_value with bool condition OK
# #155/p calls: two calls that return map_value with incorrect bool check OK
# #156/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test1 OK
# #157/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test2 OK
# #158/p calls: two jumps that receive map_value via arg=ptr_stack_of_jumper. test3 OK
# #159/p calls: two calls that receive map_value_ptr_or_null via arg. test1 OK
# #160/p calls: two calls that receive map_value_ptr_or_null via arg. test2 OK
# #161/p calls: pkt_ptr spill into caller stack OK
# #162/p calls: pkt_ptr spill into caller stack 2 OK
# #163/p calls: pkt_ptr spill into caller stack 3 OK
# #164/p calls: pkt_ptr spill into caller stack 4 OK
# #165/p calls: pkt_ptr spill into caller stack 5 OK
# #166/p calls: pkt_ptr spill into caller stack 6 OK
# #167/p calls: pkt_ptr spill into caller stack 7 OK
# #168/p calls: pkt_ptr spill into caller stack 8 OK
# #169/p calls: pkt_ptr spill into caller stack 9 OK
# #170/p calls: caller stack init to zero or map_value_or_null OK
# #171/p calls: stack init to zero and pruning OK
# #172/u calls: ctx read at start of subprog OK
# #172/p calls: ctx read at start of subprog OK
# #173/u calls: cross frame pruning OK
# #173/p calls: cross frame pruning OK
# #174/u calls: cross frame pruning - liveness propagation OK
# #174/p calls: cross frame pruning - liveness propagation OK
# #175/u unreachable OK
# #175/p unreachable OK
# #176/u unreachable2 OK
# #176/p unreachable2 OK
# #177/u out of range jump OK
# #177/p out of range jump OK
# #178/u out of range jump2 OK
# #178/p out of range jump2 OK
# #179/u loop (back-edge) OK
# #179/p loop (back-edge) OK
# #180/u loop2 (back-edge) OK
# #180/p loop2 (back-edge) OK
# #181/u conditional loop OK
# #181/p conditional loop OK
# #182/p bpf_exit with invalid return code. test1 OK
# #183/p bpf_exit with invalid return code. test2 OK
# #184/p bpf_exit with invalid return code. test3 OK
# #185/p bpf_exit with invalid return code. test4 OK
# #186/p bpf_exit with invalid return code. test5 OK
# #187/p bpf_exit with invalid return code. test6 OK
# #188/p bpf_exit with invalid return code. test7 OK
# #189/u direct packet read test#1 for CGROUP_SKB OK
# #189/p direct packet read test#1 for CGROUP_SKB OK
# #190/u direct packet read test#2 for CGROUP_SKB OK
# #190/p direct packet read test#2 for CGROUP_SKB OK
# #191/u direct packet read test#3 for CGROUP_SKB OK
# #191/p direct packet read test#3 for CGROUP_SKB OK
# #192/u direct packet read test#4 for CGROUP_SKB OK
# #192/p direct packet read test#4 for CGROUP_SKB OK
# #193/u invalid access of tc_classid for CGROUP_SKB OK
# #193/p invalid access of tc_classid for CGROUP_SKB OK
# #194/u invalid access of data_meta for CGROUP_SKB OK
# #194/p invalid access of data_meta for CGROUP_SKB OK
# #195/u invalid access of flow_keys for CGROUP_SKB OK
# #195/p invalid access of flow_keys for CGROUP_SKB OK
# #196/u invalid write access to napi_id for CGROUP_SKB OK
# #196/p invalid write access to napi_id for CGROUP_SKB OK
# #197/u write tstamp from CGROUP_SKB OK
# #197/p write tstamp from CGROUP_SKB OK
# #198/u read tstamp from CGROUP_SKB OK
# #198/p read tstamp from CGROUP_SKB OK
# #199/u valid cgroup storage access OK
# #199/p valid cgroup storage access OK
# #200/u invalid cgroup storage access 1 OK
# #200/p invalid cgroup storage access 1 OK
# #201/u invalid cgroup storage access 2 OK
# #201/p invalid cgroup storage access 2 OK
# #202/u invalid cgroup storage access 3 OK
# #202/p invalid cgroup storage access 3 OK
# #203/u invalid cgroup storage access 4 OK
# #203/p invalid cgroup storage access 4 OK
# #204/u invalid cgroup storage access 5 OK
# #204/p invalid cgroup storage access 5 OK
# #205/u invalid cgroup storage access 6 OK
# #205/p invalid cgroup storage access 6 OK
# #206/u valid per-cpu cgroup storage access OK
# #206/p valid per-cpu cgroup storage access OK
# #207/u invalid per-cpu cgroup storage access 1 OK
# #207/p invalid per-cpu cgroup storage access 1 OK
# #208/u invalid per-cpu cgroup storage access 2 OK
# #208/p invalid per-cpu cgroup storage access 2 OK
# #209/u invalid per-cpu cgroup storage access 3 OK
# #209/p invalid per-cpu cgroup storage access 3 OK
# #210/u invalid per-cpu cgroup storage access 4 OK
# #210/p invalid per-cpu cgroup storage access 4 OK
# #211/u invalid per-cpu cgroup storage access 5 OK
# #211/p invalid per-cpu cgroup storage access 5 OK
# #212/u invalid per-cpu cgroup storage access 6 OK
# #212/p invalid per-cpu cgroup storage access 6 OK
# #213/p constant register |= constant should keep constant type OK
# #214/p constant register |= constant should not bypass stack boundary checks OK
# #215/p constant register |= constant register should keep constant type OK
# #216/p constant register |= constant register should not bypass stack boundary checks OK
# #217/p context stores via ST OK
# #218/p context stores via XADD OK
# #219/p arithmetic ops make PTR_TO_CTX unusable OK
# #220/p pass unmodified ctx pointer to helper OK
# #221/p pass modified ctx pointer to helper, 1 OK
# #222/u pass modified ctx pointer to helper, 2 OK
# #222/p pass modified ctx pointer to helper, 2 OK
# #223/p pass modified ctx pointer to helper, 3 OK
# #224/p valid access family in SK_MSG OK
# #225/p valid access remote_ip4 in SK_MSG OK
# #226/p valid access local_ip4 in SK_MSG OK
# #227/p valid access remote_port in SK_MSG OK
# #228/p valid access local_port in SK_MSG OK
# #229/p valid access remote_ip6 in SK_MSG OK
# #230/p valid access local_ip6 in SK_MSG OK
# #231/p valid access size in SK_MSG OK
# #232/p invalid 64B read of size in SK_MSG OK
# #233/p invalid read past end of SK_MSG OK
# #234/p invalid read offset in SK_MSG OK
# #235/p direct packet read for SK_MSG OK
# #236/p direct packet write for SK_MSG OK
# #237/p overlapping checks for direct packet access SK_MSG OK
# #238/u access skb fields ok OK
# #238/p access skb fields ok OK
# #239/u access skb fields bad1 OK
# #239/p access skb fields bad1 OK
# #240/u access skb fields bad2 OK
# #240/p access skb fields bad2 OK
# #241/u access skb fields bad3 OK
# #241/p access skb fields bad3 OK
# #242/u access skb fields bad4 OK
# #242/p access skb fields bad4 OK
# #243/u invalid access __sk_buff family OK
# #243/p invalid access __sk_buff family OK
# #244/u invalid access __sk_buff remote_ip4 OK
# #244/p invalid access __sk_buff remote_ip4 OK
# #245/u invalid access __sk_buff local_ip4 OK
# #245/p invalid access __sk_buff local_ip4 OK
# #246/u invalid access __sk_buff remote_ip6 OK
# #246/p invalid access __sk_buff remote_ip6 OK
# #247/u invalid access __sk_buff local_ip6 OK
# #247/p invalid access __sk_buff local_ip6 OK
# #248/u invalid access __sk_buff remote_port OK
# #248/p invalid access __sk_buff remote_port OK
# #249/u invalid access __sk_buff remote_port OK
# #249/p invalid access __sk_buff remote_port OK
# #250/p valid access __sk_buff family OK
# #251/p valid access __sk_buff remote_ip4 OK
# #252/p valid access __sk_buff local_ip4 OK
# #253/p valid access __sk_buff remote_ip6 OK
# #254/p valid access __sk_buff local_ip6 OK
# #255/p valid access __sk_buff remote_port OK
# #256/p valid access __sk_buff remote_port OK
# #257/p invalid access of tc_classid for SK_SKB OK
# #258/p invalid access of skb->mark for SK_SKB OK
# #259/p check skb->mark is not writeable by SK_SKB OK
# #260/p check skb->tc_index is writeable by SK_SKB OK
# #261/p check skb->priority is writeable by SK_SKB OK
# #262/p direct packet read for SK_SKB OK
# #263/p direct packet write for SK_SKB OK
# #264/p overlapping checks for direct packet access SK_SKB OK
# #265/u check skb->mark is not writeable by sockets OK
# #265/p check skb->mark is not writeable by sockets OK
# #266/u check skb->tc_index is not writeable by sockets OK
# #266/p check skb->tc_index is not writeable by sockets OK
# #267/u check cb access: byte OK
# #267/p check cb access: byte OK
# #268/u __sk_buff->hash, offset 0, byte store not permitted OK
# #268/p __sk_buff->hash, offset 0, byte store not permitted OK
# #269/u __sk_buff->tc_index, offset 3, byte store not permitted OK
# #269/p __sk_buff->tc_index, offset 3, byte store not permitted OK
# #270/u check skb->hash byte load permitted OK
# #270/p check skb->hash byte load permitted OK
# #271/u check skb->hash byte load permitted 1 OK
# #271/p check skb->hash byte load permitted 1 OK
# #272/u check skb->hash byte load permitted 2 OK
# #272/p check skb->hash byte load permitted 2 OK
# #273/u check skb->hash byte load permitted 3 OK
# #273/p check skb->hash byte load permitted 3 OK
# #274/p check cb access: byte, wrong type OK
# #275/u check cb access: half OK
# #275/p check cb access: half OK
# #276/u check cb access: half, unaligned OK
# #276/p check cb access: half, unaligned OK
# #277/u check __sk_buff->hash, offset 0, half store not permitted OK
# #277/p check __sk_buff->hash, offset 0, half store not permitted OK
# #278/u check __sk_buff->tc_index, offset 2, half store not permitted OK
# #278/p check __sk_buff->tc_index, offset 2, half store not permitted OK
# #279/u check skb->hash half load permitted OK
# #279/p check skb->hash half load permitted OK
# #280/u check skb->hash half load permitted 2 OK
# #280/p check skb->hash half load permitted 2 OK
# #281/u check skb->hash half load not permitted, unaligned 1 OK
# #281/p check skb->hash half load not permitted, unaligned 1 OK
# #282/u check skb->hash half load not permitted, unaligned 3 OK
# #282/p check skb->hash half load not permitted, unaligned 3 OK
# #283/p check cb access: half, wrong type OK
# #284/u check cb access: word OK
# #284/p check cb access: word OK
# #285/u check cb access: word, unaligned 1 OK
# #285/p check cb access: word, unaligned 1 OK
# #286/u check cb access: word, unaligned 2 OK
# #286/p check cb access: word, unaligned 2 OK
# #287/u check cb access: word, unaligned 3 OK
# #287/p check cb access: word, unaligned 3 OK
# #288/u check cb access: word, unaligned 4 OK
# #288/p check cb access: word, unaligned 4 OK
# #289/u check cb access: double OK
# #289/p check cb access: double OK
# #290/u check cb access: double, unaligned 1 OK
# #290/p check cb access: double, unaligned 1 OK
# #291/u check cb access: double, unaligned 2 OK
# #291/p check cb access: double, unaligned 2 OK
# #292/u check cb access: double, oob 1 OK
# #292/p check cb access: double, oob 1 OK
# #293/u check cb access: double, oob 2 OK
# #293/p check cb access: double, oob 2 OK
# #294/u check __sk_buff->ifindex dw store not permitted OK
# #294/p check __sk_buff->ifindex dw store not permitted OK
# #295/u check __sk_buff->ifindex dw load not permitted OK
# #295/p check __sk_buff->ifindex dw load not permitted OK
# #296/p check cb access: double, wrong type OK
# #297/p check out of range skb->cb access OK
# #298/u write skb fields from socket prog OK
# #298/p write skb fields from socket prog OK
# #299/p write skb fields from tc_cls_act prog OK
# #300/u check skb->data half load not permitted OK
# #300/p check skb->data half load not permitted OK
# #301/u read gso_segs from CGROUP_SKB OK
# #301/p read gso_segs from CGROUP_SKB OK
# #302/u write gso_segs from CGROUP_SKB OK
# #302/p write gso_segs from CGROUP_SKB OK
# #303/p read gso_segs from CLS OK
# #304/u check wire_len is not readable by sockets OK
# #304/p check wire_len is not readable by sockets OK
# #305/p check wire_len is readable by tc classifier OK
# #306/p check wire_len is not writable by tc classifier OK
# #307/u dead code: start OK
# #307/p dead code: start OK
# #308/u dead code: mid 1 OK
# #308/p dead code: mid 1 OK
# #309/u dead code: mid 2 OK
# #309/p dead code: mid 2 OK
# #310/u dead code: end 1 OK
# #310/p dead code: end 1 OK
# #311/u dead code: end 2 OK
# #311/p dead code: end 2 OK
# #312/u dead code: end 3 OK
# #312/p dead code: end 3 OK
# #313/u dead code: tail of main + func OK
# #313/p dead code: tail of main + func OK
# #314/u dead code: tail of main + two functions OK
# #314/p dead code: tail of main + two functions OK
# #315/u dead code: function in the middle and mid of another func OK
# #315/p dead code: function in the middle and mid of another func OK
# #316/u dead code: middle of main before call OK
# #316/p dead code: middle of main before call OK
# #317/u dead code: start of a function OK
# #317/p dead code: start of a function OK
# #318/p pkt_end - pkt_start is allowed OK
# #319/p direct packet access: test1 OK
# #320/p direct packet access: test2 OK
# #321/u direct packet access: test3 OK
# #321/p direct packet access: test3 OK
# #322/p direct packet access: test4 (write) OK
# #323/p direct packet access: test5 (pkt_end >= reg, good access) OK
# #324/p direct packet access: test6 (pkt_end >= reg, bad access) OK
# #325/p direct packet access: test7 (pkt_end >= reg, both accesses) OK
# #326/p direct packet access: test8 (double test, variant 1) OK
# #327/p direct packet access: test9 (double test, variant 2) OK
# #328/p direct packet access: test10 (write invalid) OK
# #329/p direct packet access: test11 (shift, good access) OK
# #330/p direct packet access: test12 (and, good access) OK
# #331/p direct packet access: test13 (branches, good access) OK
# #332/p direct packet access: test14 (pkt_ptr += 0, CONST_IMM, good access) OK
# #333/p direct packet access: test15 (spill with xadd) OK
# #334/p direct packet access: test16 (arith on data_end) OK
# #335/p direct packet access: test17 (pruning, alignment) OK
# #336/p direct packet access: test18 (imm += pkt_ptr, 1) OK
# #337/p direct packet access: test19 (imm += pkt_ptr, 2) OK
# #338/p direct packet access: test20 (x += pkt_ptr, 1) OK
# #339/p direct packet access: test21 (x += pkt_ptr, 2) OK
# #340/p direct packet access: test22 (x += pkt_ptr, 3) OK
# #341/p direct packet access: test23 (x += pkt_ptr, 4) FAIL
# Unexpected success to load!
# verification time 17 usec
# stack depth 8
# processed 18 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
# #342/p direct packet access: test24 (x += pkt_ptr, 5) OK
# #343/p direct packet access: test25 (marking on <, good access) OK
# #344/p direct packet access: test26 (marking on <, bad access) OK
# #345/p direct packet access: test27 (marking on <=, good access) OK
# #346/p direct packet access: test28 (marking on <=, bad access) OK
# #347/p direct packet access: test29 (reg > pkt_end in subprog) OK
# #348/u direct stack access with 32-bit wraparound. test1 OK
# #348/p direct stack access with 32-bit wraparound. test1 OK
# #349/u direct stack access with 32-bit wraparound. test2 OK
# #349/p direct stack access with 32-bit wraparound. test2 OK
# #350/u direct stack access with 32-bit wraparound. test3 OK
# #350/p direct stack access with 32-bit wraparound. test3 OK
# #351/u direct map access, write test 1 OK
# #351/p direct map access, write test 1 OK
# #352/u direct map access, write test 2 OK
# #352/p direct map access, write test 2 OK
# #353/u direct map access, write test 3 OK
# #353/p direct map access, write test 3 OK
# #354/u direct map access, write test 4 OK
# #354/p direct map access, write test 4 OK
# #355/u direct map access, write test 5 OK
# #355/p direct map access, write test 5 OK
# #356/u direct map access, write test 6 OK
# #356/p direct map access, write test 6 OK
# #357/u direct map access, write test 7 OK
# #357/p direct map access, write test 7 OK
# #358/u direct map access, write test 8 OK
# #358/p direct map access, write test 8 OK
# #359/u direct map access, write test 9 OK
# #359/p direct map access, write test 9 OK
# #360/u direct map access, write test 10 OK
# #360/p direct map access, write test 10 OK
# #361/u direct map access, write test 11 OK
# #361/p direct map access, write test 11 OK
# #362/u direct map access, write test 12 OK
# #362/p direct map access, write test 12 OK
# #363/u direct map access, write test 13 OK
# #363/p direct map access, write test 13 OK
# #364/u direct map access, write test 14 OK
# #364/p direct map access, write test 14 OK
# #365/u direct map access, write test 15 OK
# #365/p direct map access, write test 15 OK
# #366/u direct map access, write test 16 OK
# #366/p direct map access, write test 16 OK
# #367/u direct map access, write test 17 OK
# #367/p direct map access, write test 17 OK
# #368/u direct map access, write test 18 OK
# #368/p direct map access, write test 18 OK
# #369/u direct map access, write test 19 OK
# #369/p direct map access, write test 19 OK
# #370/u direct map access, write test 20 OK
# #370/p direct map access, write test 20 OK
# #371/u direct map access, invalid insn test 1 OK
# #371/p direct map access, invalid insn test 1 OK
# #372/u direct map access, invalid insn test 2 OK
# #372/p direct map access, invalid insn test 2 OK
# #373/u direct map access, invalid insn test 3 OK
# #373/p direct map access, invalid insn test 3 OK
# #374/u direct map access, invalid insn test 4 OK
# #374/p direct map access, invalid insn test 4 OK
# #375/u direct map access, invalid insn test 5 OK
# #375/p direct map access, invalid insn test 5 OK
# #376/u direct map access, invalid insn test 6 OK
# #376/p direct map access, invalid insn test 6 OK
# #377/u direct map access, invalid insn test 7 OK
# #377/p direct map access, invalid insn test 7 OK
# #378/u direct map access, invalid insn test 8 OK
# #378/p direct map access, invalid insn test 8 OK
# #379/u direct map access, invalid insn test 9 OK
# #379/p direct map access, invalid insn test 9 OK
# #380/u DIV32 by 0, zero check 1 OK
# #380/p DIV32 by 0, zero check 1 OK
# #381/u DIV32 by 0, zero check 2 OK
# #381/p DIV32 by 0, zero check 2 OK
# #382/u DIV64 by 0, zero check OK
# #382/p DIV64 by 0, zero check OK
# #383/u MOD32 by 0, zero check 1 OK
# #383/p MOD32 by 0, zero check 1 OK
# #384/u MOD32 by 0, zero check 2 OK
# #384/p MOD32 by 0, zero check 2 OK
# #385/u MOD64 by 0, zero check OK
# #385/p MOD64 by 0, zero check OK
# #386/p DIV32 by 0, zero check ok, cls OK
# #387/p DIV32 by 0, zero check 1, cls OK
# #388/p DIV32 by 0, zero check 2, cls OK
# #389/p DIV64 by 0, zero check, cls OK
# #390/p MOD32 by 0, zero check ok, cls OK
# #391/p MOD32 by 0, zero check 1, cls OK
# #392/p MOD32 by 0, zero check 2, cls OK
# #393/p MOD64 by 0, zero check 1, cls OK
# #394/p MOD64 by 0, zero check 2, cls OK
# #395/p DIV32 overflow, check 1 OK
# #396/p DIV32 overflow, check 2 OK
# #397/p DIV64 overflow, check 1 OK
# #398/p DIV64 overflow, check 2 OK
# #399/p MOD32 overflow, check 1 OK
# #400/p MOD32 overflow, check 2 OK
# #401/p MOD64 overflow, check 1 OK
# #402/p MOD64 overflow, check 2 OK
# #403/p helper access to variable memory: stack, bitwise AND + JMP, correct bounds OK
# #404/p helper access to variable memory: stack, bitwise AND, zero included OK
# #405/p helper access to variable memory: stack, bitwise AND + JMP, wrong max OK
# #406/p helper access to variable memory: stack, JMP, correct bounds OK
# #407/p helper access to variable memory: stack, JMP (signed), correct bounds OK
# #408/p helper access to variable memory: stack, JMP, bounds + offset OK
# #409/p helper access to variable memory: stack, JMP, wrong max OK
# #410/p helper access to variable memory: stack, JMP, no max check OK
# #411/p helper access to variable memory: stack, JMP, no min check OK
# #412/p helper access to variable memory: stack, JMP (signed), no min check OK
# #413/p helper access to variable memory: map, JMP, correct bounds OK
# #414/p helper access to variable memory: map, JMP, wrong max OK
# #415/p helper access to variable memory: map adjusted, JMP, correct bounds OK
# #416/p helper access to variable memory: map adjusted, JMP, wrong max OK
# #417/p helper access to variable memory: size = 0 allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) OK
# #418/p helper access to variable memory: size > 0 not allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) OK
# #419/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #420/p helper access to variable memory: size = 0 allowed on != NULL map pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #421/p helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #422/p helper access to variable memory: size possible = 0 allowed on != NULL map pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #423/p helper access to variable memory: size possible = 0 allowed on != NULL packet pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #424/p helper access to variable memory: size = 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL) OK
# #425/p helper access to variable memory: size > 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL) OK
# #426/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #427/p helper access to variable memory: size = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #428/p helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #429/p helper access to variable memory: size possible = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #430/p helper access to variable memory: 8 bytes leak OK
# #431/p helper access to variable memory: 8 bytes no leak (init memory) OK
# #432/p helper access to packet: test1, valid packet_ptr range OK
# #433/p helper access to packet: test2, unchecked packet_ptr OK
# #434/p helper access to packet: test3, variable add OK
# #435/p helper access to packet: test4, packet_ptr with bad range OK
# #436/p helper access to packet: test5, packet_ptr with too short range OK
# #437/p helper access to packet: test6, cls valid packet_ptr range OK
# #438/p helper access to packet: test7, cls unchecked packet_ptr OK
# #439/p helper access to packet: test8, cls variable add OK
# #440/p helper access to packet: test9, cls packet_ptr with bad range OK
# #441/p helper access to packet: test10, cls packet_ptr with too short range OK
# #442/p helper access to packet: test11, cls unsuitable helper 1 OK
# #443/p helper access to packet: test12, cls unsuitable helper 2 OK
# #444/p helper access to packet: test13, cls helper ok OK
# #445/p helper access to packet: test14, cls helper ok sub OK
# #446/p helper access to packet: test15, cls helper fail sub OK
# #447/p helper access to packet: test16, cls helper fail range 1 OK
# #448/p helper access to packet: test17, cls helper fail range 2 OK
# #449/p helper access to packet: test18, cls helper fail range 3 OK
# #450/p helper access to packet: test19, cls helper range zero OK
# #451/p helper access to packet: test20, pkt end as input OK
# #452/p helper access to packet: test21, wrong reg OK
# #453/p helper access to map: full range OK
# #454/p helper access to map: partial range OK
# #455/p helper access to map: empty range OK
# #456/p helper access to map: out-of-bound range OK
# #457/p helper access to map: negative range OK
# #458/p helper access to adjusted map (via const imm): full range OK
# #459/p helper access to adjusted map (via const imm): partial range OK
# #460/p helper access to adjusted map (via const imm): empty range OK
# #461/p helper access to adjusted map (via const imm): out-of-bound range OK
# #462/p helper access to adjusted map (via const imm): negative range (> adjustment) OK
# #463/p helper access to adjusted map (via const imm): negative range (< adjustment) OK
# #464/p helper access to adjusted map (via const reg): full range OK
# #465/p helper access to adjusted map (via const reg): partial range OK
# #466/p helper access to adjusted map (via const reg): empty range OK
# #467/p helper access to adjusted map (via const reg): out-of-bound range OK
# #468/p helper access to adjusted map (via const reg): negative range (> adjustment) OK
# #469/p helper access to adjusted map (via const reg): negative range (< adjustment) OK
# #470/p helper access to adjusted map (via variable): full range OK
# #471/p helper access to adjusted map (via variable): partial range OK
# #472/p helper access to adjusted map (via variable): empty range OK
# #473/p helper access to adjusted map (via variable): no max check OK
# #474/p helper access to adjusted map (via variable): wrong max check OK
# #475/p helper access to map: bounds check using <, good access OK
# #476/p helper access to map: bounds check using <, bad access OK
# #477/p helper access to map: bounds check using <=, good access OK
# #478/p helper access to map: bounds check using <=, bad access OK
# #479/p helper access to map: bounds check using s<, good access OK
# #480/p helper access to map: bounds check using s<, good access 2 OK
# #481/p helper access to map: bounds check using s<, bad access OK
# #482/p helper access to map: bounds check using s<=, good access OK
# #483/p helper access to map: bounds check using s<=, good access 2 OK
# #484/p helper access to map: bounds check using s<=, bad access OK
# #485/p map lookup helper access to map OK
# #486/p map update helper access to map OK
# #487/p map update helper access to map: wrong size OK
# #488/p map helper access to adjusted map (via const imm) OK
# #489/p map helper access to adjusted map (via const imm): out-of-bound 1 OK
# #490/p map helper access to adjusted map (via const imm): out-of-bound 2 OK
# #491/p map helper access to adjusted map (via const reg) OK
# #492/p map helper access to adjusted map (via const reg): out-of-bound 1 OK
# #493/p map helper access to adjusted map (via const reg): out-of-bound 2 OK
# #494/p map helper access to adjusted map (via variable) OK
# #495/p map helper access to adjusted map (via variable): no max check OK
# #496/p map helper access to adjusted map (via variable): wrong max check OK
# #497/p ARG_PTR_TO_LONG uninitialized OK
# #498/p ARG_PTR_TO_LONG half-uninitialized OK
# #499/p ARG_PTR_TO_LONG misaligned OK
# #500/p ARG_PTR_TO_LONG size < sizeof(long) OK
# #501/p ARG_PTR_TO_LONG initialized OK
# #502/u jit: lsh, rsh, arsh by 1 OK
# #502/p jit: lsh, rsh, arsh by 1 OK
# #503/u jit: mov32 for ldimm64, 1 OK
# #503/p jit: mov32 for ldimm64, 1 OK
# #504/u jit: mov32 for ldimm64, 2 OK
# #504/p jit: mov32 for ldimm64, 2 OK
# #505/u jit: various mul tests OK
# #505/p jit: various mul tests OK
# #506/u jit: jsgt, jslt OK
# #506/p jit: jsgt, jslt OK
# #507/p jset32: BPF_K 3 cases OK
# #508/p jset32: BPF_X 3 cases OK
# #509/u jset32: min/max deduction OK
# #509/p jset32: min/max deduction OK
# #510/p jeq32: BPF_K 2 cases OK
# #511/p jeq32: BPF_X 3 cases OK
# #512/u jeq32: min/max deduction OK
# #512/p jeq32: min/max deduction OK
# #513/p jne32: BPF_K 2 cases OK
# #514/p jne32: BPF_X 3 cases OK
# #515/u jne32: min/max deduction OK
# #515/p jne32: min/max deduction OK
# #516/p jge32: BPF_K 3 cases OK
# #517/p jge32: BPF_X 3 cases OK
# #518/u jge32: min/max deduction OK
# #518/p jge32: min/max deduction OK
# #519/p jgt32: BPF_K 3 cases OK
# #520/p jgt32: BPF_X 3 cases OK
# #521/u jgt32: min/max deduction OK
# #521/p jgt32: min/max deduction OK
# #522/p jle32: BPF_K 3 cases OK
# #523/p jle32: BPF_X 3 cases OK
# #524/u jle32: min/max deduction OK
# #524/p jle32: min/max deduction OK
# #525/p jlt32: BPF_K 3 cases OK
# #526/p jlt32: BPF_X 3 cases OK
# #527/u jlt32: min/max deduction OK
# #527/p jlt32: min/max deduction OK
# #528/p jsge32: BPF_K 3 cases OK
# #529/p jsge32: BPF_X 3 cases OK
# #530/u jsge32: min/max deduction OK
# #530/p jsge32: min/max deduction OK
# #531/p jsgt32: BPF_K 3 cases OK
# #532/p jsgt32: BPF_X 3 cases OK
# #533/u jsgt32: min/max deduction OK
# #533/p jsgt32: min/max deduction OK
# #534/p jsle32: BPF_K 3 cases OK
# #535/p jsle32: BPF_X 3 cases OK
# #536/u jsle32: min/max deduction OK
# #536/p jsle32: min/max deduction OK
# #537/p jslt32: BPF_K 3 cases OK
# #538/p jslt32: BPF_X 3 cases OK
# #539/u jslt32: min/max deduction OK
# #539/p jslt32: min/max deduction OK
# #540/p jset: functional 7 cases OK
# #541/p jset: sign-extend OK
# #542/u jset: known const compare OK
# #542/p jset: known const compare OK
# #543/u jset: known const compare bad OK
# #543/p jset: known const compare bad OK
# #544/u jset: unknown const compare taken OK
# #544/p jset: unknown const compare taken OK
# #545/u jset: unknown const compare not taken OK
# #545/p jset: unknown const compare not taken OK
# #546/u jset: half-known const compare OK
# #546/p jset: half-known const compare OK
# #547/u jset: range OK
# #547/p jset: range OK
# #548/u jump test 1 OK
# #548/p jump test 1 OK
# #549/u jump test 2 OK
# #549/p jump test 2 OK
# #550/u jump test 3 OK
# #550/p jump test 3 OK
# #551/u jump test 4 OK
# #551/p jump test 4 OK
# #552/u jump test 5 OK
# #552/p jump test 5 OK
# #553/u jump test 6 OK
# #553/p jump test 6 OK
# #554/u jump test 7 OK
# #554/p jump test 7 OK
# #555/u jump test 8 OK
# #555/p jump test 8 OK
# #556/p jump/call test 9 OK
# #557/p jump/call test 10 OK
# #558/p jump/call test 11 OK
# #559/u junk insn OK
# #559/p junk insn OK
# #560/u junk insn2 OK
# #560/p junk insn2 OK
# #561/u junk insn3 OK
# #561/p junk insn3 OK
# #562/u junk insn4 OK
# #562/p junk insn4 OK
# #563/u junk insn5 OK
# #563/p junk insn5 OK
# #564/u ld_abs: check calling conv, r1 OK
# #564/p ld_abs: check calling conv, r1 OK
# #565/u ld_abs: check calling conv, r2 OK
# #565/p ld_abs: check calling conv, r2 OK
# #566/u ld_abs: check calling conv, r3 OK
# #566/p ld_abs: check calling conv, r3 OK
# #567/u ld_abs: check calling conv, r4 OK
# #567/p ld_abs: check calling conv, r4 OK
# #568/u ld_abs: check calling conv, r5 OK
# #568/p ld_abs: check calling conv, r5 OK
# #569/u ld_abs: check calling conv, r7 OK
# #569/p ld_abs: check calling conv, r7 OK
# #570/p ld_abs: tests on r6 and skb data reload helper OK
# #571/p ld_abs: invalid op 1 OK
# #572/p ld_abs: invalid op 2 OK
# #573/p ld_abs: nmap reduced OK
# #574/p ld_abs: div + abs, test 1 OK
# #575/p ld_abs: div + abs, test 2 OK
# #576/p ld_abs: div + abs, test 3 OK
# #577/p ld_abs: div + abs, test 4 OK
# #578/p ld_abs: vlan + abs, test 1 OK
# #579/p ld_abs: vlan + abs, test 2 OK
# #580/p ld_abs: jump around ld_abs OK
# #581/p ld_dw: xor semi-random 64 bit imms, test 1 OK
# #582/p ld_dw: xor semi-random 64 bit imms, test 2 OK
# #583/p ld_dw: xor semi-random 64 bit imms, test 3 OK
# #584/p ld_dw: xor semi-random 64 bit imms, test 4 OK
# #585/p ld_dw: xor semi-random 64 bit imms, test 5 OK
# #586/u test1 ld_imm64 OK
# #586/p test1 ld_imm64 OK
# #587/u test2 ld_imm64 OK
# #587/p test2 ld_imm64 OK
# #588/u test3 ld_imm64 OK
# #588/p test3 ld_imm64 OK
# #589/u test4 ld_imm64 OK
# #589/p test4 ld_imm64 OK
# #590/u test5 ld_imm64 OK
# #590/p test5 ld_imm64 OK
# #591/u test6 ld_imm64 OK
# #591/p test6 ld_imm64 OK
# #592/u test7 ld_imm64 OK
# #592/p test7 ld_imm64 OK
# #593/u test8 ld_imm64 OK
# #593/p test8 ld_imm64 OK
# #594/u test9 ld_imm64 OK
# #594/p test9 ld_imm64 OK
# #595/u test10 ld_imm64 OK
# #595/p test10 ld_imm64 OK
# #596/u test11 ld_imm64 OK
# #596/p test11 ld_imm64 OK
# #597/u test12 ld_imm64 OK
# #597/p test12 ld_imm64 OK
# #598/u test13 ld_imm64 OK
# #598/p test13 ld_imm64 OK
# #599/u test14 ld_imm64: reject 2nd imm != 0 OK
# #599/p test14 ld_imm64: reject 2nd imm != 0 OK
# #600/u ld_ind: check calling conv, r1 OK
# #600/p ld_ind: check calling conv, r1 OK
# #601/u ld_ind: check calling conv, r2 OK
# #601/p ld_ind: check calling conv, r2 OK
# #602/u ld_ind: check calling conv, r3 OK
# #602/p ld_ind: check calling conv, r3 OK
# #603/u ld_ind: check calling conv, r4 OK
# #603/p ld_ind: check calling conv, r4 OK
# #604/u ld_ind: check calling conv, r5 OK
# #604/p ld_ind: check calling conv, r5 OK
# #605/u ld_ind: check calling conv, r7 OK
# #605/p ld_ind: check calling conv, r7 OK
# #606/u leak pointer into ctx 1 OK
# #606/p leak pointer into ctx 1 OK
# #607/u leak pointer into ctx 2 OK
# #607/p leak pointer into ctx 2 OK
# #608/u leak pointer into ctx 3 OK
# #608/p leak pointer into ctx 3 OK
# #609/u leak pointer into map val OK
# #609/p leak pointer into map val OK
# #610/p bounded loop, count to 4 OK
# #611/p bounded loop, count to 20 OK
# #612/p bounded loop, count from positive unknown to 4 OK
# #613/p bounded loop, count from totally unknown to 4 OK
# #614/p bounded loop, count to 4 with equality OK
# #615/p bounded loop, start in the middle OK
# #616/p bounded loop containing a forward jump OK
# #617/p bounded loop that jumps out rather than in OK
# #618/p infinite loop after a conditional jump OK
# #619/p bounded recursion OK
# #620/p infinite loop in two jumps OK
# #621/p infinite loop: three-jump trick OK
# #622/p invalid direct packet write for LWT_IN OK
# #623/p invalid direct packet write for LWT_OUT OK
# #624/p direct packet write for LWT_XMIT OK
# #625/p direct packet read for LWT_IN OK
# #626/p direct packet read for LWT_OUT OK
# #627/p direct packet read for LWT_XMIT OK
# #628/p overlapping checks for direct packet access OK
# #629/p make headroom for LWT_XMIT OK
# #630/u invalid access of tc_classid for LWT_IN OK
# #630/p invalid access of tc_classid for LWT_IN OK
# #631/u invalid access of tc_classid for LWT_OUT OK
# #631/p invalid access of tc_classid for LWT_OUT OK
# #632/u invalid access of tc_classid for LWT_XMIT OK
# #632/p invalid access of tc_classid for LWT_XMIT OK
# #633/p check skb->tc_classid half load not permitted for lwt prog OK
# #634/u map in map access OK
# #634/p map in map access OK
# #635/u invalid inner map pointer OK
# #635/p invalid inner map pointer OK
# #636/u forgot null checking on the inner map pointer OK
# #636/p forgot null checking on the inner map pointer OK
# #637/p calls: two calls returning different map pointers for lookup (hash, array) OK
# #638/p calls: two calls returning different map pointers for lookup (hash, map in map) OK
# #639/u cond: two branches returning different map pointers for lookup (tail, tail) OK
# #639/p cond: two branches returning different map pointers for lookup (tail, tail) OK
# #640/u cond: two branches returning same map pointers for lookup (tail, tail) OK
# #640/p cond: two branches returning same map pointers for lookup (tail, tail) OK
# #641/u invalid map_fd for function call OK
# #641/p invalid map_fd for function call OK
# #642/u don't check return value before access OK
# #642/p don't check return value before access OK
# #643/u access memory with incorrect alignment OK
# #643/p access memory with incorrect alignment OK
# #644/u sometimes access memory with incorrect alignment OK
# #644/p sometimes access memory with incorrect alignment OK
# #645/u masking, test out of bounds 1 OK
# #645/p masking, test out of bounds 1 OK
# #646/u masking, test out of bounds 2 OK
# #646/p masking, test out of bounds 2 OK
# #647/u masking, test out of bounds 3 OK
# #647/p masking, test out of bounds 3 OK
# #648/u masking, test out of bounds 4 OK
# #648/p masking, test out of bounds 4 OK
# #649/u masking, test out of bounds 5 OK
# #649/p masking, test out of bounds 5 OK
# #650/u masking, test out of bounds 6 OK
# #650/p masking, test out of bounds 6 OK
# #651/u masking, test out of bounds 7 OK
# #651/p masking, test out of bounds 7 OK
# #652/u masking, test out of bounds 8 OK
# #652/p masking, test out of bounds 8 OK
# #653/u masking, test out of bounds 9 OK
# #653/p masking, test out of bounds 9 OK
# #654/u masking, test out of bounds 10 OK
# #654/p masking, test out of bounds 10 OK
# #655/u masking, test out of bounds 11 OK
# #655/p masking, test out of bounds 11 OK
# #656/u masking, test out of bounds 12 OK
# #656/p masking, test out of bounds 12 OK
# #657/u masking, test in bounds 1 OK
# #657/p masking, test in bounds 1 OK
# #658/u masking, test in bounds 2 OK
# #658/p masking, test in bounds 2 OK
# #659/u masking, test in bounds 3 OK
# #659/p masking, test in bounds 3 OK
# #660/u masking, test in bounds 4 OK
# #660/p masking, test in bounds 4 OK
# #661/u masking, test in bounds 5 OK
# #661/p masking, test in bounds 5 OK
# #662/u masking, test in bounds 6 OK
# #662/p masking, test in bounds 6 OK
# #663/u masking, test in bounds 7 OK
# #663/p masking, test in bounds 7 OK
# #664/u masking, test in bounds 8 OK
# #664/p masking, test in bounds 8 OK
# #665/p meta access, test1 OK
# #666/p meta access, test2 OK
# #667/p meta access, test3 OK
# #668/p meta access, test4 OK
# #669/p meta access, test5 OK
# #670/p meta access, test6 OK
# #671/p meta access, test7 OK
# #672/p meta access, test8 OK
# #673/p meta access, test9 OK
# #674/p meta access, test10 FAIL
# Unexpected success to load!
# verification time 29 usec
# stack depth 8
# processed 19 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
# #675/p meta access, test11 OK
# #676/p meta access, test12 OK
# #677/p check bpf_perf_event_data->sample_period byte load permitted OK
# #678/p check bpf_perf_event_data->sample_period half load permitted OK
# #679/p check bpf_perf_event_data->sample_period word load permitted OK
# #680/p check bpf_perf_event_data->sample_period dword load permitted OK
# #681/p prevent map lookup in sockmap OK
# #682/p prevent map lookup in sockhash OK
# #683/p prevent map lookup in stack trace OK
# #684/u prevent map lookup in prog array OK
# #684/p prevent map lookup in prog array OK
# #685/p raw_stack: no skb_load_bytes OK
# #686/p raw_stack: skb_load_bytes, negative len OK
# #687/p raw_stack: skb_load_bytes, negative len 2 OK
# #688/p raw_stack: skb_load_bytes, zero len OK
# #689/p raw_stack: skb_load_bytes, no init OK
# #690/p raw_stack: skb_load_bytes, init OK
# #691/p raw_stack: skb_load_bytes, spilled regs around bounds OK
# #692/p raw_stack: skb_load_bytes, spilled regs corruption OK
# #693/p raw_stack: skb_load_bytes, spilled regs corruption 2 OK
# #694/p raw_stack: skb_load_bytes, spilled regs + data OK
# #695/p raw_stack: skb_load_bytes, invalid access 1 OK
# #696/p raw_stack: skb_load_bytes, invalid access 2 OK
# #697/p raw_stack: skb_load_bytes, invalid access 3 OK
# #698/p raw_stack: skb_load_bytes, invalid access 4 OK
# #699/p raw_stack: skb_load_bytes, invalid access 5 OK
# #700/p raw_stack: skb_load_bytes, invalid access 6 OK
# #701/p raw_stack: skb_load_bytes, large access OK
# #702/p raw_tracepoint_writable: reject variable offset OK
# #703/p reference tracking: leak potential reference OK
# #704/p reference tracking: leak potential reference to sock_common OK
# #705/p reference tracking: leak potential reference on stack OK
# #706/p reference tracking: leak potential reference on stack 2 OK
# #707/p reference tracking: zero potential reference OK
# #708/p reference tracking: zero potential reference to sock_common OK
# #709/p reference tracking: copy and zero potential references OK
# #710/p reference tracking: release reference without check OK
# #711/p reference tracking: release reference to sock_common without check OK
# #712/p reference tracking: release reference OK
# #713/p reference tracking: release reference to sock_common OK
# #714/p reference tracking: release reference 2 OK
# #715/p reference tracking: release reference twice OK
# #716/p reference tracking: release reference twice inside branch OK
# #717/p reference tracking: alloc, check, free in one subbranch OK
# #718/p reference tracking: alloc, check, free in both subbranches OK
# #719/p reference tracking in call: free reference in subprog OK
# #720/p reference tracking in call: free reference in subprog and outside OK
# #721/p reference tracking in call: alloc & leak reference in subprog OK
# #722/p reference tracking in call: alloc in subprog, release outside OK
# #723/p reference tracking in call: sk_ptr leak into caller stack OK
# #724/p reference tracking in call: sk_ptr spill into caller stack OK
# #725/p reference tracking: allow LD_ABS OK
# #726/p reference tracking: forbid LD_ABS while holding reference OK
# #727/p reference tracking: allow LD_IND OK
# #728/p reference tracking: forbid LD_IND while holding reference OK
# #729/p reference tracking: check reference or tail call OK
# #730/p reference tracking: release reference then tail call OK
# #731/p reference tracking: leak possible reference over tail call OK
# #732/p reference tracking: leak checked reference over tail call OK
# #733/p reference tracking: mangle and release sock_or_null OK
# #734/p reference tracking: mangle and release sock OK
# #735/p reference tracking: access member OK
# #736/p reference tracking: write to member OK
# #737/p reference tracking: invalid 64-bit access of member OK
# #738/p reference tracking: access after release OK
# #739/p reference tracking: direct access for lookup OK
# #740/p reference tracking: use ptr from bpf_tcp_sock() after release OK
# #741/p reference tracking: use ptr from bpf_sk_fullsock() after release OK
# #742/p reference tracking: use ptr from bpf_sk_fullsock(tp) after release OK
# #743/p reference tracking: use sk after bpf_sk_release(tp) OK
# #744/p reference tracking: use ptr from bpf_get_listener_sock() after bpf_sk_release(sk) OK
# #745/p reference tracking: bpf_sk_release(listen_sk) OK
# #746/p reference tracking: tp->snd_cwnd after bpf_sk_fullsock(sk) and bpf_tcp_sock(sk) OK
# #747/u runtime/jit: tail_call within bounds, prog once OK
# #747/p runtime/jit: tail_call within bounds, prog once OK
# #748/u runtime/jit: tail_call within bounds, prog loop OK
# #748/p runtime/jit: tail_call within bounds, prog loop OK
# #749/u runtime/jit: tail_call within bounds, no prog OK
# #749/p runtime/jit: tail_call within bounds, no prog OK
# #750/u runtime/jit: tail_call out of bounds OK
# #750/p runtime/jit: tail_call out of bounds OK
# #751/u runtime/jit: pass negative index to tail_call OK
# #751/p runtime/jit: pass negative index to tail_call OK
# #752/u runtime/jit: pass > 32bit index to tail_call OK
# #752/p runtime/jit: pass > 32bit index to tail_call OK
# #753/p scale: scale test 1 OK
# #754/p scale: scale test 2 OK
# #755/u pointer/scalar confusion in state equality check (way 1) OK
# #755/p pointer/scalar confusion in state equality check (way 1) OK
# #756/u pointer/scalar confusion in state equality check (way 2) OK
# #756/p pointer/scalar confusion in state equality check (way 2) OK
# #757/p liveness pruning and write screening OK
# #758/u varlen_map_value_access pruning OK
# #758/p varlen_map_value_access pruning OK
# #759/p search pruning: all branches should be verified (nop operation) OK
# #760/p search pruning: all branches should be verified (invalid stack access) OK
# #761/u allocated_stack OK
# #761/p allocated_stack OK
# #762/u skb->sk: no NULL check OK
# #762/p skb->sk: no NULL check OK
# #763/u skb->sk: sk->family [non fullsock field] OK
# #763/p skb->sk: sk->family [non fullsock field] OK
# #764/u skb->sk: sk->type [fullsock field] OK
# #764/p skb->sk: sk->type [fullsock field] OK
# #765/u bpf_sk_fullsock(skb->sk): no !skb->sk check OK
# #765/p bpf_sk_fullsock(skb->sk): no !skb->sk check OK
# #766/u sk_fullsock(skb->sk): no NULL check on ret OK
# #766/p sk_fullsock(skb->sk): no NULL check on ret OK
# #767/u sk_fullsock(skb->sk): sk->type [fullsock field] OK
# #767/p sk_fullsock(skb->sk): sk->type [fullsock field] OK
# #768/u sk_fullsock(skb->sk): sk->family [non fullsock field] OK
# #768/p sk_fullsock(skb->sk): sk->family [non fullsock field] OK
# #769/u sk_fullsock(skb->sk): sk->state [narrow load] OK
# #769/p sk_fullsock(skb->sk): sk->state [narrow load] OK
# #770/u sk_fullsock(skb->sk): sk->dst_port [narrow load] OK
# #770/p sk_fullsock(skb->sk): sk->dst_port [narrow load] OK
# #771/u sk_fullsock(skb->sk): sk->dst_port [load 2nd byte] OK
# #771/p sk_fullsock(skb->sk): sk->dst_port [load 2nd byte] OK
# #772/u sk_fullsock(skb->sk): sk->dst_ip6 [load 2nd byte] OK
# #772/p sk_fullsock(skb->sk): sk->dst_ip6 [load 2nd byte] OK
# #773/u sk_fullsock(skb->sk): sk->type [narrow load] OK
# #773/p sk_fullsock(skb->sk): sk->type [narrow load] OK
# #774/u sk_fullsock(skb->sk): sk->protocol [narrow load] OK
# #774/p sk_fullsock(skb->sk): sk->protocol [narrow load] OK
# #775/u sk_fullsock(skb->sk): beyond last field OK
# #775/p sk_fullsock(skb->sk): beyond last field OK
# #776/u bpf_tcp_sock(skb->sk): no !skb->sk check OK
# #776/p bpf_tcp_sock(skb->sk): no !skb->sk check OK
# #777/u bpf_tcp_sock(skb->sk): no NULL check on ret OK
# #777/p bpf_tcp_sock(skb->sk): no NULL check on ret OK
# #778/u bpf_tcp_sock(skb->sk): tp->snd_cwnd OK
# #778/p bpf_tcp_sock(skb->sk): tp->snd_cwnd OK
# #779/u bpf_tcp_sock(skb->sk): tp->bytes_acked OK
# #779/p bpf_tcp_sock(skb->sk): tp->bytes_acked OK
# #780/u bpf_tcp_sock(skb->sk): beyond last field OK
# #780/p bpf_tcp_sock(skb->sk): beyond last field OK
# #781/u bpf_tcp_sock(bpf_sk_fullsock(skb->sk)): tp->snd_cwnd OK
# #781/p bpf_tcp_sock(bpf_sk_fullsock(skb->sk)): tp->snd_cwnd OK
# #782/p bpf_sk_release(skb->sk) OK
# #783/p bpf_sk_release(bpf_sk_fullsock(skb->sk)) OK
# #784/p bpf_sk_release(bpf_tcp_sock(skb->sk)) OK
# #785/p sk_storage_get(map, skb->sk, NULL, 0): value == NULL OK
# #786/p sk_storage_get(map, skb->sk, 1, 1): value == 1 OK
# #787/p sk_storage_get(map, skb->sk, &stack_value, 1): stack_value OK
# #788/p sk_storage_get(map, skb->sk, &stack_value, 1): partially init stack_value OK
# #789/p bpf_map_lookup_elem(smap, &key) OK
# #790/p bpf_map_lookup_elem(xskmap, &key); xs->queue_id SKIP (unsupported map type 17)
# #791/u check valid spill/fill OK
# #791/p check valid spill/fill OK
# #792/u check valid spill/fill, skb mark OK
# #792/p check valid spill/fill, skb mark OK
# #793/u check corrupted spill/fill OK
# #793/p check corrupted spill/fill OK
# #794/u check corrupted spill/fill, LSB OK
# #794/p check corrupted spill/fill, LSB OK
# #795/u check corrupted spill/fill, MSB OK
# #795/p check corrupted spill/fill, MSB OK
# #796/u spin_lock: test1 success OK
# #796/p spin_lock: test1 success OK
# #797/u spin_lock: test2 direct ld/st OK
# #797/p spin_lock: test2 direct ld/st OK
# #798/u spin_lock: test3 direct ld/st OK
# #798/p spin_lock: test3 direct ld/st OK
# #799/u spin_lock: test4 direct ld/st OK
# #799/p spin_lock: test4 direct ld/st OK
# #800/u spin_lock: test5 call within a locked region OK
# #800/p spin_lock: test5 call within a locked region OK
# #801/u spin_lock: test6 missing unlock OK
# #801/p spin_lock: test6 missing unlock OK
# #802/u spin_lock: test7 unlock without lock OK
# #802/p spin_lock: test7 unlock without lock OK
# #803/u spin_lock: test8 double lock OK
# #803/p spin_lock: test8 double lock OK
# #804/u spin_lock: test9 different lock OK
# #804/p spin_lock: test9 different lock OK
# #805/u spin_lock: test10 lock in subprog without unlock OK
# #805/p spin_lock: test10 lock in subprog without unlock OK
# #806/p spin_lock: test11 ld_abs under lock OK
# #807/u PTR_TO_STACK store/load OK
# #807/p PTR_TO_STACK store/load OK
# #808/u PTR_TO_STACK store/load - bad alignment on off OK
# #808/p PTR_TO_STACK store/load - bad alignment on off OK
# #809/u PTR_TO_STACK store/load - bad alignment on reg OK
# #809/p PTR_TO_STACK store/load - bad alignment on reg OK
# #810/u PTR_TO_STACK store/load - out of bounds low OK
# #810/p PTR_TO_STACK store/load - out of bounds low OK
# #811/u PTR_TO_STACK store/load - out of bounds high OK
# #811/p PTR_TO_STACK store/load - out of bounds high OK
# #812/u PTR_TO_STACK check high 1 OK
# #812/p PTR_TO_STACK check high 1 OK
# #813/u PTR_TO_STACK check high 2 OK
# #813/p PTR_TO_STACK check high 2 OK
# #814/u PTR_TO_STACK check high 3 OK
# #814/p PTR_TO_STACK check high 3 OK
# #815/u PTR_TO_STACK check high 4 OK
# #815/p PTR_TO_STACK check high 4 OK
# #816/u PTR_TO_STACK check high 5 OK
# #816/p PTR_TO_STACK check high 5 OK
# #817/u PTR_TO_STACK check high 6 OK
# #817/p PTR_TO_STACK check high 6 OK
# #818/u PTR_TO_STACK check high 7 OK
# #818/p PTR_TO_STACK check high 7 OK
# #819/u PTR_TO_STACK check low 1 OK
# #819/p PTR_TO_STACK check low 1 OK
# #820/u PTR_TO_STACK check low 2 OK
# #820/p PTR_TO_STACK check low 2 OK
# #821/u PTR_TO_STACK check low 3 OK
# #821/p PTR_TO_STACK check low 3 OK
# #822/u PTR_TO_STACK check low 4 OK
# #822/p PTR_TO_STACK check low 4 OK
# #823/u PTR_TO_STACK check low 5 OK
# #823/p PTR_TO_STACK check low 5 OK
# #824/u PTR_TO_STACK check low 6 OK
# #824/p PTR_TO_STACK check low 6 OK
# #825/u PTR_TO_STACK check low 7 OK
# #825/p PTR_TO_STACK check low 7 OK
# #826/u PTR_TO_STACK mixed reg/k, 1 OK
# #826/p PTR_TO_STACK mixed reg/k, 1 OK
# #827/u PTR_TO_STACK mixed reg/k, 2 OK
# #827/p PTR_TO_STACK mixed reg/k, 2 OK
# #828/u PTR_TO_STACK mixed reg/k, 3 OK
# #828/p PTR_TO_STACK mixed reg/k, 3 OK
# #829/u PTR_TO_STACK reg OK
# #829/p PTR_TO_STACK reg OK
# #830/u stack pointer arithmetic OK
# #830/p stack pointer arithmetic OK
# #831/u read uninitialized register OK
# #831/p read uninitialized register OK
# #832/u read invalid register OK
# #832/p read invalid register OK
# #833/u program doesn't init R0 before exit OK
# #833/p program doesn't init R0 before exit OK
# #834/u program doesn't init R0 before exit in all branches OK
# #834/p program doesn't init R0 before exit in all branches OK
# #835/u unpriv: return pointer OK
# #835/p unpriv: return pointer OK
# #836/u unpriv: add const to pointer OK
# #836/p unpriv: add const to pointer OK
# #837/u unpriv: add pointer to pointer OK
# #837/p unpriv: add pointer to pointer OK
# #838/u unpriv: neg pointer OK
# #838/p unpriv: neg pointer OK
# #839/u unpriv: cmp pointer with const OK
# #839/p unpriv: cmp pointer with const OK
# #840/u unpriv: cmp pointer with pointer OK
# #840/p unpriv: cmp pointer with pointer OK
# #841/p unpriv: check that printk is disallowed OK
# #842/u unpriv: pass pointer to helper function OK
# #842/p unpriv: pass pointer to helper function OK
# #843/u unpriv: indirectly pass pointer on stack to helper function OK
# #843/p unpriv: indirectly pass pointer on stack to helper function OK
# #844/u unpriv: mangle pointer on stack 1 OK
# #844/p unpriv: mangle pointer on stack 1 OK
# #845/u unpriv: mangle pointer on stack 2 OK
# #845/p unpriv: mangle pointer on stack 2 OK
# #846/u unpriv: read pointer from stack in small chunks OK
# #846/p unpriv: read pointer from stack in small chunks OK
# #847/u unpriv: write pointer into ctx OK
# #847/p unpriv: write pointer into ctx OK
# #848/u unpriv: spill/fill of ctx OK
# #848/p unpriv: spill/fill of ctx OK
# #849/p unpriv: spill/fill of ctx 2 OK
# #850/p unpriv: spill/fill of ctx 3 OK
# #851/p unpriv: spill/fill of ctx 4 OK
# #852/p unpriv: spill/fill of different pointers stx OK
# #853/p unpriv: spill/fill of different pointers stx - ctx and sock OK
# #854/p unpriv: spill/fill of different pointers stx - leak sock OK
# #855/p unpriv: spill/fill of different pointers stx - sock and ctx (read) OK
# #856/p unpriv: spill/fill of different pointers stx - sock and ctx (write) OK
# #857/p unpriv: spill/fill of different pointers ldx OK
# #858/u unpriv: write pointer into map elem value OK
# #858/p unpriv: write pointer into map elem value OK
# #859/u alu32: mov u32 const OK
# #859/p alu32: mov u32 const OK
# #860/u unpriv: partial copy of pointer OK
# #860/p unpriv: partial copy of pointer OK
# #861/u unpriv: pass pointer to tail_call OK
# #861/p unpriv: pass pointer to tail_call OK
# #862/u unpriv: cmp map pointer with zero OK
# #862/p unpriv: cmp map pointer with zero OK
# #863/u unpriv: write into frame pointer OK
# #863/p unpriv: write into frame pointer OK
# #864/u unpriv: spill/fill frame pointer OK
# #864/p unpriv: spill/fill frame pointer OK
# #865/u unpriv: cmp of frame pointer OK
# #865/p unpriv: cmp of frame pointer OK
# #866/u unpriv: adding of fp OK
# #866/p unpriv: adding of fp OK
# #867/u unpriv: cmp of stack pointer OK
# #867/p unpriv: cmp of stack pointer OK
# #868/u map element value store of cleared call register OK
# #868/p map element value store of cleared call register OK
# #869/u map element value with unaligned store OK
# #869/p map element value with unaligned store OK
# #870/u map element value with unaligned load OK
# #870/p map element value with unaligned load OK
# #871/u map element value is preserved across register spilling OK
# #871/p map element value is preserved across register spilling OK
# #872/u map element value is preserved across register spilling OK
# #872/p map element value is preserved across register spilling OK
# #873/u map element value or null is marked on register spilling OK
# #873/p map element value or null is marked on register spilling OK
# #874/u map element value illegal alu op, 1 OK
# #874/p map element value illegal alu op, 1 OK
# #875/u map element value illegal alu op, 2 OK
# #875/p map element value illegal alu op, 2 OK
# #876/u map element value illegal alu op, 3 OK
# #876/p map element value illegal alu op, 3 OK
# #877/u map element value illegal alu op, 4 OK
# #877/p map element value illegal alu op, 4 OK
# #878/u map element value illegal alu op, 5 OK
# #878/p map element value illegal alu op, 5 OK
# #879/p multiple registers share map_lookup_elem result OK
# #880/p alu ops on ptr_to_map_value_or_null, 1 OK
# #881/p alu ops on ptr_to_map_value_or_null, 2 OK
# #882/p alu ops on ptr_to_map_value_or_null, 3 OK
# #883/p invalid memory access with multiple map_lookup_elem calls OK
# #884/p valid indirect map_lookup_elem access with 2nd lookup in branch OK
# #885/u invalid map access from else condition OK
# #885/p invalid map access from else condition OK
# #886/u map access: known scalar += value_ptr from different maps OK
# #886/p map access: known scalar += value_ptr from different maps OK
# #887/u map access: value_ptr -= known scalar from different maps OK
# #887/p map access: value_ptr -= known scalar from different maps OK
# #888/u map access: known scalar += value_ptr from different maps, but same value properties OK
# #888/p map access: known scalar += value_ptr from different maps, but same value properties OK
# #889/u map access: mixing value pointer and scalar, 1 OK
# #889/p map access: mixing value pointer and scalar, 1 OK
# #890/u map access: mixing value pointer and scalar, 2 OK
# #890/p map access: mixing value pointer and scalar, 2 OK
# #891/u sanitation: alu with different scalars 1 OK
# #891/p sanitation: alu with different scalars 1 OK
# #892/u sanitation: alu with different scalars 2 OK
# #892/p sanitation: alu with different scalars 2 OK
# #893/u sanitation: alu with different scalars 3 OK
# #893/p sanitation: alu with different scalars 3 OK
# #894/u map access: value_ptr += known scalar, upper oob arith, test 1 OK
# #894/p map access: value_ptr += known scalar, upper oob arith, test 1 OK
# #895/u map access: value_ptr += known scalar, upper oob arith, test 2 OK
# #895/p map access: value_ptr += known scalar, upper oob arith, test 2 OK
# #896/u map access: value_ptr += known scalar, upper oob arith, test 3 OK
# #896/p map access: value_ptr += known scalar, upper oob arith, test 3 OK
# #897/u map access: value_ptr -= known scalar, lower oob arith, test 1 OK
# #897/p map access: value_ptr -= known scalar, lower oob arith, test 1 OK
# #898/u map access: value_ptr -= known scalar, lower oob arith, test 2 OK
# #898/p map access: value_ptr -= known scalar, lower oob arith, test 2 OK
# #899/u map access: value_ptr -= known scalar, lower oob arith, test 3 OK
# #899/p map access: value_ptr -= known scalar, lower oob arith, test 3 OK
# #900/u map access: known scalar += value_ptr OK
# #900/p map access: known scalar += value_ptr OK
# #901/u map access: value_ptr += known scalar, 1 OK
# #901/p map access: value_ptr += known scalar, 1 OK
# #902/u map access: value_ptr += known scalar, 2 OK
# #902/p map access: value_ptr += known scalar, 2 OK
# #903/u map access: value_ptr += known scalar, 3 OK
# #903/p map access: value_ptr += known scalar, 3 OK
# #904/u map access: value_ptr += known scalar, 4 OK
# #904/p map access: value_ptr += known scalar, 4 OK
# #905/u map access: value_ptr += known scalar, 5 OK
# #905/p map access: value_ptr += known scalar, 5 OK
# #906/u map access: value_ptr += known scalar, 6 OK
# #906/p map access: value_ptr += known scalar, 6 OK
# #907/u map access: unknown scalar += value_ptr, 1 OK
# #907/p map access: unknown scalar += value_ptr, 1 OK
# #908/u map access: unknown scalar += value_ptr, 2 OK
# #908/p map access: unknown scalar += value_ptr, 2 OK
# #909/u map access: unknown scalar += value_ptr, 3 OK
# #909/p map access: unknown scalar += value_ptr, 3 OK
# #910/u map access: unknown scalar += value_ptr, 4 OK
# #910/p map access: unknown scalar += value_ptr, 4 OK
# #911/u map access: value_ptr += unknown scalar, 1 OK
# #911/p map access: value_ptr += unknown scalar, 1 OK
# #912/u map access: value_ptr += unknown scalar, 2 OK
# #912/p map access: value_ptr += unknown scalar, 2 OK
# #913/u map access: value_ptr += unknown scalar, 3 OK
# #913/p map access: value_ptr += unknown scalar, 3 OK
# #914/u map access: value_ptr += value_ptr OK
# #914/p map access: value_ptr += value_ptr OK
# #915/u map access: known scalar -= value_ptr OK
# #915/p map access: known scalar -= value_ptr OK
# #916/u map access: value_ptr -= known scalar OK
# #916/p map access: value_ptr -= known scalar OK
# #917/u map access: value_ptr -= known scalar, 2 OK
# #917/p map access: value_ptr -= known scalar, 2 OK
# #918/u map access: unknown scalar -= value_ptr OK
# #918/p map access: unknown scalar -= value_ptr OK
# #919/u map access: value_ptr -= unknown scalar OK
# #919/p map access: value_ptr -= unknown scalar OK
# #920/u map access: value_ptr -= unknown scalar, 2 OK
# #920/p map access: value_ptr -= unknown scalar, 2 OK
# #921/u map access: value_ptr -= value_ptr OK
# #921/p map access: value_ptr -= value_ptr OK
# #922/p variable-offset ctx access OK
# #923/p variable-offset stack access OK
# #924/p indirect variable-offset stack access, unbounded OK
# #925/p indirect variable-offset stack access, max out of bound OK
# #926/p indirect variable-offset stack access, min out of bound OK
# #927/p indirect variable-offset stack access, max_off+size > max_initialized OK
# #928/p indirect variable-offset stack access, min_off < min_initialized OK
# #929/u indirect variable-offset stack access, priv vs unpriv OK
# #929/p indirect variable-offset stack access, priv vs unpriv OK
# #930/p indirect variable-offset stack access, uninitialized OK
# #931/p indirect variable-offset stack access, ok OK
# #932/p xadd/w check unaligned stack OK
# #933/p xadd/w check unaligned map OK
# #934/p xadd/w check unaligned pkt OK
# #935/p xadd/w check whether src/dst got mangled, 1 OK
# #936/p xadd/w check whether src/dst got mangled, 2 OK
# #937/p XDP, using ifindex from netdev OK
# #938/p XDP pkt read, pkt_end mangling, bad access 1 OK
# #939/p XDP pkt read, pkt_end mangling, bad access 2 OK
# #940/p XDP pkt read, pkt_data' > pkt_end, good access OK
# #941/p XDP pkt read, pkt_data' > pkt_end, bad access 1 OK
# #942/p XDP pkt read, pkt_data' > pkt_end, bad access 2 OK
# #943/p XDP pkt read, pkt_end > pkt_data', good access OK
# #944/p XDP pkt read, pkt_end > pkt_data', bad access 1 OK
# #945/p XDP pkt read, pkt_end > pkt_data', bad access 2 OK
# #946/p XDP pkt read, pkt_data' < pkt_end, good access OK
# #947/p XDP pkt read, pkt_data' < pkt_end, bad access 1 OK
# #948/p XDP pkt read, pkt_data' < pkt_end, bad access 2 OK
# #949/p XDP pkt read, pkt_end < pkt_data', good access OK
# #950/p XDP pkt read, pkt_end < pkt_data', bad access 1 OK
# #951/p XDP pkt read, pkt_end < pkt_data', bad access 2 OK
# #952/p XDP pkt read, pkt_data' >= pkt_end, good access OK
# #953/p XDP pkt read, pkt_data' >= pkt_end, bad access 1 OK
# #954/p XDP pkt read, pkt_data' >= pkt_end, bad access 2 OK
# #955/p XDP pkt read, pkt_end >= pkt_data', good access OK
# #956/p XDP pkt read, pkt_end >= pkt_data', bad access 1 OK
# #957/p XDP pkt read, pkt_end >= pkt_data', bad access 2 OK
# #958/p XDP pkt read, pkt_data' <= pkt_end, good access OK
# #959/p XDP pkt read, pkt_data' <= pkt_end, bad access 1 OK
# #960/p XDP pkt read, pkt_data' <= pkt_end, bad access 2 OK
# #961/p XDP pkt read, pkt_end <= pkt_data', good access OK
# #962/p XDP pkt read, pkt_end <= pkt_data', bad access 1 OK
# #963/p XDP pkt read, pkt_end <= pkt_data', bad access 2 OK
# #964/p XDP pkt read, pkt_meta' > pkt_data, good access OK
# #965/p XDP pkt read, pkt_meta' > pkt_data, bad access 1 OK
# #966/p XDP pkt read, pkt_meta' > pkt_data, bad access 2 OK
# #967/p XDP pkt read, pkt_data > pkt_meta', good access OK
# #968/p XDP pkt read, pkt_data > pkt_meta', bad access 1 OK
# #969/p XDP pkt read, pkt_data > pkt_meta', bad access 2 OK
# #970/p XDP pkt read, pkt_meta' < pkt_data, good access OK
# #971/p XDP pkt read, pkt_meta' < pkt_data, bad access 1 OK
# #972/p XDP pkt read, pkt_meta' < pkt_data, bad access 2 OK
# #973/p XDP pkt read, pkt_data < pkt_meta', good access OK
# #974/p XDP pkt read, pkt_data < pkt_meta', bad access 1 OK
# #975/p XDP pkt read, pkt_data < pkt_meta', bad access 2 OK
# #976/p XDP pkt read, pkt_meta' >= pkt_data, good access OK
# #977/p XDP pkt read, pkt_meta' >= pkt_data, bad access 1 OK
# #978/p XDP pkt read, pkt_meta' >= pkt_data, bad access 2 OK
# #979/p XDP pkt read, pkt_data >= pkt_meta', good access OK
# #980/p XDP pkt read, pkt_data >= pkt_meta', bad access 1 OK
# #981/p XDP pkt read, pkt_data >= pkt_meta', bad access 2 OK
# #982/p XDP pkt read, pkt_meta' <= pkt_data, good access OK
# #983/p XDP pkt read, pkt_meta' <= pkt_data, bad access 1 OK
# #984/p XDP pkt read, pkt_meta' <= pkt_data, bad access 2 OK
# #985/p XDP pkt read, pkt_data <= pkt_meta', good access OK
# #986/p XDP pkt read, pkt_data <= pkt_meta', bad access 1 OK
# #987/p XDP pkt read, pkt_data <= pkt_meta', bad access 2 OK
# Summary: 1449 PASSED, 1 SKIPPED, 2 FAILED
not ok 1 selftests: bpf: test_verifier
To reproduce:
# build kernel
cd linux
cp config-5.2.0-rc2-00624-g6c409a3a .config
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 olddefconfig
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 modules_prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 SHELL=/bin/bash
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 bzImage
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
Thanks,
Rong Chen
1 year, 6 months
[kernel/isolation] c427534e48: BUG:kernel_NULL_pointer_dereference, address
by kernel test robot
FYI, we noticed the following commit (built with gcc-7):
commit: c427534e48381727924529455ddfa67e2985686d ("kernel/isolation: Asset that a housekeeping CPU comes up at boot time")
https://git.kernel.org/cgit/linux/kernel/git/peterz/queue.git sched/core
in testcase: rcuperf
with following parameters:
runtime: 300s
perf_type: tasks
on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 2G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+-------------------------------------------------+------------+------------+
| | 66567fcbae | c427534e48 |
+-------------------------------------------------+------------+------------+
| boot_successes | 5 | 0 |
| boot_failures | 18 | 11 |
| BUG:kernel_reboot-without-warning_in_test_stage | 18 | |
| BUG:kernel_NULL_pointer_dereference,address | 0 | 11 |
| Oops:#[##] | 0 | 11 |
| RIP:housekeeping_verify_smp | 0 | 11 |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 11 |
+-------------------------------------------------+------------+------------+
If you fix the issue, kindly add following tag
Reported-by: kernel test robot <rong.a.chen(a)intel.com>
[ 0.562433] BUG: kernel NULL pointer dereference, address: 0000000000000000
[ 0.562994] #PF: supervisor read access in kernel mode
[ 0.562994] #PF: error_code(0x0000) - not-present page
[ 0.562994] PGD 0 P4D 0
[ 0.562994] Oops: 0000 [#1] SMP PTI
[ 0.562994] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.2.0-rc5-00015-gc427534 #1
[ 0.562994] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 0.562994] RIP: 0010:housekeeping_verify_smp+0x2b/0x41
[ 0.562994] Code: 66 66 66 90 53 83 c8 ff 48 c7 c3 c0 e2 e3 84 48 89 de 89 c7 e8 94 d4 d7 fe 3b 05 22 77 b8 ff 73 13 89 c2 48 8b 0d db eb 28 00 <48> 0f a3 11 73 df 31 c0 5b c3 48 c7 c7 f0 0e 8d 84 e8 1b 84 3e fe
[ 0.562994] RSP: 0000:ffffabda00327e18 EFLAGS: 00010293
[ 0.562994] RAX: 0000000000000000 RBX: ffffffff84e3e2c0 RCX: 0000000000000000
[ 0.562994] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff84e3e2c0
[ 0.562994] RBP: ffffffff852b7572 R08: 0000000000000044 R09: 0000000000000228
[ 0.562994] R10: 0000000000000000 R11: ffff892f4f817e10 R12: ffffffff854a0938
[ 0.562994] R13: 0000000000000002 R14: ffffffff852898d9 R15: 0000000000000000
[ 0.562994] FS: 0000000000000000(0000) GS:ffff892fa1e00000(0000) knlGS:0000000000000000
[ 0.562994] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.562994] CR2: 0000000000000000 CR3: 000000001ec0a000 CR4: 00000000000406f0
[ 0.562994] Call Trace:
[ 0.562994] do_one_initcall+0x46/0x214
[ 0.562994] kernel_init_freeable+0x1c7/0x272
[ 0.562994] ? rest_init+0xd0/0xd0
[ 0.562994] kernel_init+0xa/0x110
[ 0.562994] ret_from_fork+0x35/0x40
[ 0.562994] Modules linked in:
[ 0.562994] CR2: 0000000000000000
[ 0.562994] ---[ end trace 1c0ad476e5b7f021 ]---
To reproduce:
# build kernel
cd linux
cp config-5.2.0-rc5-00015-gc427534 .config
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 olddefconfig
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 modules_prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 SHELL=/bin/bash
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 bzImage
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
Thanks,
Rong Chen
1 year, 6 months
[btrfs] c8eaeac7b7: aim7.jobs-per-min -11.7% regression
by kernel test robot
Greeting,
FYI, we noticed a -11.7% regression of aim7.jobs-per-min due to commit:
commit: c8eaeac7b734347c3afba7008b7af62f37b9c140 ("btrfs: reserve delalloc metadata differently")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
in testcase: aim7
on test machine: 40 threads Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz with 384G memory
with following parameters:
disk: 4BRD_12G
md: RAID0
fs: btrfs
test: disk_rr
load: 1500
cpufreq_governor: performance
test-description: AIM7 is a traditional UNIX system level benchmark suite which is used to test and measure the performance of multiuser system.
test-url: https://sourceforge.net/projects/aimbench/files/aim-suite7/
Details are as below:
-------------------------------------------------------------------------------------------------->
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
=========================================================================================
compiler/cpufreq_governor/disk/fs/kconfig/load/md/rootfs/tbox_group/test/testcase:
gcc-7/performance/4BRD_12G/btrfs/x86_64-rhel-7.6/1500/RAID0/debian-x86_64-2018-04-03.cgz/lkp-ivb-ep01/disk_rr/aim7
commit:
4297ff84dc ("btrfs: track DIO bytes in flight")
c8eaeac7b7 ("btrfs: reserve delalloc metadata differently")
4297ff84dc24d120 c8eaeac7b734347c3afba7008b7
---------------- ---------------------------
fail:runs %reproduction fail:runs
| | |
:4 75% 3:4 dmesg.WARNING:at#for_ip_swapgs_restore_regs_and_return_to_usermode/0x
:4 75% 3:4 dmesg.WARNING:stack_recursion
%stddev %change %stddev
\ | \
43654 -11.7% 38526 aim7.jobs-per-min
206.46 +13.3% 233.89 aim7.time.elapsed_time
206.46 +13.3% 233.89 aim7.time.elapsed_time.max
611427 ± 3% +36.6% 834981 ± 2% aim7.time.involuntary_context_switches
103580 +1.7% 105361 aim7.time.minor_page_faults
7636 +14.8% 8763 aim7.time.system_time
2731877 +7.6% 2940550 aim7.time.voluntary_context_switches
0.83 ± 2% -0.1 0.73 ± 2% mpstat.cpu.all.usr%
94.44 +7.0% 101.08 iostat.md0.w/s
16028 +7.2% 17182 iostat.md0.wkB/s
2040 +24.8% 2547 ± 18% meminfo.Inactive(file)
17154 -10.2% 15396 meminfo.max_used_kB
2.4e+08 ± 45% -87.4% 30268527 ±145% cpuidle.C3.time
731742 ± 18% -88.7% 82339 ±109% cpuidle.C3.usage
4.447e+08 ± 12% +35.0% 6.005e+08 ± 19% cpuidle.C6.time
10907 +6.9% 11662 vmstat.io.bo
55.33 ± 4% +13.9% 63.00 ± 2% vmstat.procs.r
24049 -6.9% 22394 vmstat.system.cs
10588 ± 30% -44.7% 5859 ± 25% numa-meminfo.node0.Inactive
9856 ± 36% -47.8% 5145 ± 34% numa-meminfo.node0.Inactive(anon)
4691 ± 9% +243.5% 16115 ± 69% numa-meminfo.node0.KernelStack
2202 ± 29% +1132.8% 27151 ± 92% numa-meminfo.node0.PageTables
11332 ± 29% +46.9% 16649 ± 8% numa-meminfo.node1.Inactive
10023 ± 36% +47.8% 14817 ± 12% numa-meminfo.node1.Inactive(anon)
1185 +15.5% 1369 ± 7% slabinfo.btrfs_ordered_extent.active_objs
1185 +15.5% 1369 ± 7% slabinfo.btrfs_ordered_extent.num_objs
2748 ± 3% +6.5% 2927 ± 3% slabinfo.kmalloc-rcl-64.active_objs
2748 ± 3% +6.5% 2927 ± 3% slabinfo.kmalloc-rcl-64.num_objs
367.33 ± 3% +29.2% 474.75 ± 10% slabinfo.skbuff_fclone_cache.active_objs
367.33 ± 3% +29.2% 474.75 ± 10% slabinfo.skbuff_fclone_cache.num_objs
1545 ± 11% +14.2% 1764 ± 13% slabinfo.xfrm_dst_cache.num_objs
2464 ± 36% -47.8% 1285 ± 34% numa-vmstat.node0.nr_inactive_anon
4690 ± 9% +243.7% 16120 ± 69% numa-vmstat.node0.nr_kernel_stack
550.00 ± 29% +1134.5% 6790 ± 92% numa-vmstat.node0.nr_page_table_pages
152291 ± 3% +19.0% 181153 ± 5% numa-vmstat.node0.nr_written
2464 ± 36% -47.8% 1285 ± 34% numa-vmstat.node0.nr_zone_inactive_anon
2505 ± 36% +47.9% 3705 ± 12% numa-vmstat.node1.nr_inactive_anon
151216 ± 3% +18.3% 178821 ± 4% numa-vmstat.node1.nr_written
2505 ± 36% +47.9% 3705 ± 12% numa-vmstat.node1.nr_zone_inactive_anon
493640 +1.0% 498686 proc-vmstat.nr_file_pages
510.00 +24.8% 636.50 ± 18% proc-vmstat.nr_inactive_file
584507 ± 2% +20.8% 706353 ± 2% proc-vmstat.nr_written
510.00 +24.8% 636.50 ± 18% proc-vmstat.nr_zone_inactive_file
29772 ± 5% +4.0% 30949 ± 5% proc-vmstat.numa_hint_faults
15567 ± 6% +5.4% 16416 ± 6% proc-vmstat.numa_hint_faults_local
13816 -1.7% 13583 proc-vmstat.numa_other
582286 +10.0% 640790 proc-vmstat.pgfault
2337841 ± 2% +20.9% 2825298 ± 2% proc-vmstat.pgpgout
2730 +5.2% 2872 turbostat.Avg_MHz
731158 ± 18% -88.8% 81753 ±110% turbostat.C3
2.80 ± 44% -2.5 0.32 ±146% turbostat.C3%
4.98 ± 25% -37.4% 3.12 ± 17% turbostat.CPU%c1
1.14 ± 78% -79.4% 0.24 ±160% turbostat.CPU%c3
135.74 +10.2% 149.62 turbostat.CorWatt
18209025 +13.7% 20695723 turbostat.IRQ
162.95 +8.5% 176.76 turbostat.PkgWatt
9586 ± 3% +8.6% 10410 ± 2% turbostat.SMI
24351 -6.9% 22675 perf-stat.i.context-switches
1.095e+11 +5.2% 1.151e+11 perf-stat.i.cpu-cycles
2942 -8.8% 2682 perf-stat.i.cpu-migrations
4026 ± 2% +5.5% 4248 perf-stat.i.cycles-between-cache-misses
0.11 ± 7% +0.0 0.15 ± 27% perf-stat.i.dTLB-store-miss-rate%
1.788e+09 -10.4% 1.602e+09 perf-stat.i.dTLB-stores
4679972 ± 2% -36.2% 2983497 ± 47% perf-stat.i.iTLB-loads
0.24 -3.5% 0.23 perf-stat.i.ipc
2646 -2.6% 2578 perf-stat.i.minor-faults
40.94 +0.4 41.38 perf-stat.i.node-store-miss-rate%
2646 -2.6% 2578 perf-stat.i.page-faults
4.07 +4.1% 4.24 perf-stat.overall.cpi
4196 +5.1% 4411 perf-stat.overall.cycles-between-cache-misses
0.11 ± 8% +0.0 0.15 ± 29% perf-stat.overall.dTLB-store-miss-rate%
0.25 -4.0% 0.24 perf-stat.overall.ipc
24233 -6.8% 22576 perf-stat.ps.context-switches
1.089e+11 +5.2% 1.146e+11 perf-stat.ps.cpu-cycles
2928 -8.8% 2670 perf-stat.ps.cpu-migrations
1.779e+09 -10.3% 1.595e+09 perf-stat.ps.dTLB-stores
4657162 ± 2% -36.2% 2970461 ± 47% perf-stat.ps.iTLB-loads
2635 -2.5% 2570 perf-stat.ps.minor-faults
2635 -2.5% 2570 perf-stat.ps.page-faults
5.677e+12 +14.2% 6.482e+12 perf-stat.total.instructions
23484 +27.9% 30030 ± 2% sched_debug.cfs_rq:/.load.avg
51446 ± 2% +492.7% 304901 ± 2% sched_debug.cfs_rq:/.load.max
11212 ± 5% +332.6% 48506 ± 2% sched_debug.cfs_rq:/.load.stddev
0.21 ± 14% -27.1% 0.15 ± 19% sched_debug.cfs_rq:/.nr_running.stddev
50.75 ± 10% +138.7% 121.12 ± 91% sched_debug.cfs_rq:/.runnable_load_avg.max
1.33 ± 93% +275.0% 5.00 ± 28% sched_debug.cfs_rq:/.runnable_load_avg.min
18594 ± 4% +39.0% 25853 ± 3% sched_debug.cfs_rq:/.runnable_weight.avg
41096 ± 7% +627.8% 299088 sched_debug.cfs_rq:/.runnable_weight.max
9009 ± 3% +431.5% 47888 ± 2% sched_debug.cfs_rq:/.runnable_weight.stddev
-4276 -670.0% 24374 ± 56% sched_debug.cfs_rq:/.spread0.avg
74100 ± 9% +24.2% 92022 ± 12% sched_debug.cfs_rq:/.spread0.max
-57421 -37.4% -35972 sched_debug.cfs_rq:/.spread0.min
463.62 +12.9% 523.36 ± 6% sched_debug.cfs_rq:/.util_est_enqueued.avg
0.25 ± 81% +9225.0% 23.31 ±119% sched_debug.cfs_rq:/.util_est_enqueued.min
18.98 ± 4% +9.4% 20.76 ± 4% sched_debug.cpu.cpu_load[0].avg
47.67 ± 5% +20.8% 57.56 ± 8% sched_debug.cpu.cpu_load[0].max
1.92 ± 43% +154.3% 4.88 ± 40% sched_debug.cpu.cpu_load[0].min
44.75 +22.2% 54.69 ± 9% sched_debug.cpu.cpu_load[1].max
5.42 ± 15% +38.5% 7.50 ± 9% sched_debug.cpu.cpu_load[2].min
56.17 ± 5% +14.1% 64.06 ± 7% sched_debug.cpu.cpu_load[3].max
6.33 ± 9% +28.3% 8.12 ± 9% sched_debug.cpu.cpu_load[3].min
7.17 ± 4% +16.9% 8.38 ± 8% sched_debug.cpu.cpu_load[4].min
454.42 ± 86% +142.9% 1103 ± 21% sched_debug.cpu.curr->pid.min
23570 +20.9% 28493 ± 8% sched_debug.cpu.load.avg
51446 ± 2% +371.3% 242447 ± 45% sched_debug.cpu.load.max
4293 ± 80% +118.5% 9381 ± 21% sched_debug.cpu.load.min
2039 ± 7% +10.2% 2247 ± 2% sched_debug.cpu.nr_load_updates.stddev
1.06 ± 2% +22.2% 1.29 ± 5% sched_debug.cpu.nr_running.avg
0.25 ± 81% +150.0% 0.62 ± 20% sched_debug.cpu.nr_running.min
0.52 +13.5% 0.59 ± 10% sched_debug.cpu.nr_running.stddev
19645 ± 5% +9.4% 21489 ± 4% softirqs.CPU0.RCU
86145 +14.7% 98787 softirqs.CPU0.TIMER
87552 ± 7% +12.6% 98576 ± 4% softirqs.CPU1.TIMER
19349 ± 9% +13.9% 22048 ± 5% softirqs.CPU10.RCU
81218 ± 3% +29.7% 105305 ± 12% softirqs.CPU10.TIMER
19223 ± 2% +8.7% 20891 ± 7% softirqs.CPU11.RCU
83829 ± 2% +12.5% 94302 softirqs.CPU11.TIMER
84709 +16.0% 98222 ± 2% softirqs.CPU12.TIMER
85057 ± 2% +10.5% 93955 softirqs.CPU13.TIMER
20677 ± 7% +6.1% 21934 ± 7% softirqs.CPU14.RCU
84147 ± 2% +17.2% 98617 softirqs.CPU14.TIMER
19576 ± 4% +13.0% 22113 ± 7% softirqs.CPU16.RCU
84576 ± 2% +33.1% 112557 ± 14% softirqs.CPU16.TIMER
85248 ± 4% +14.5% 97595 ± 3% softirqs.CPU17.TIMER
19195 ± 6% +15.2% 22106 ± 11% softirqs.CPU18.RCU
85046 ± 2% +14.4% 97311 softirqs.CPU18.TIMER
85248 ± 3% +11.4% 94985 ± 2% softirqs.CPU19.TIMER
19415 ± 3% +11.4% 21619 ± 3% softirqs.CPU2.RCU
19095 ± 4% +10.6% 21115 ± 5% softirqs.CPU20.RCU
84097 ± 2% +15.0% 96686 softirqs.CPU20.TIMER
87892 ± 3% +13.1% 99386 ± 5% softirqs.CPU21.TIMER
19125 ± 3% +13.4% 21686 ± 5% softirqs.CPU22.RCU
14525 ± 5% -9.0% 13212 ± 4% softirqs.CPU22.SCHED
85902 ± 5% +15.4% 99114 softirqs.CPU22.TIMER
19616 ± 3% +12.4% 22042 ± 2% softirqs.CPU23.RCU
86349 ± 4% +12.0% 96741 softirqs.CPU23.TIMER
19747 ± 6% +13.5% 22407 ± 7% softirqs.CPU24.RCU
84333 +17.1% 98749 softirqs.CPU24.TIMER
19131 ± 2% +11.2% 21279 ± 5% softirqs.CPU25.RCU
19625 ± 5% +9.1% 21420 ± 5% softirqs.CPU26.RCU
84545 ± 3% +15.5% 97675 softirqs.CPU26.TIMER
20319 ± 7% +5.3% 21389 ± 6% softirqs.CPU27.RCU
86276 ± 4% +12.1% 96743 softirqs.CPU27.TIMER
18484 ± 4% +15.3% 21315 ± 7% softirqs.CPU28.RCU
83144 +16.5% 96862 softirqs.CPU28.TIMER
19786 ± 2% +12.0% 22157 ± 4% softirqs.CPU3.RCU
87487 ± 5% +12.2% 98117 softirqs.CPU3.TIMER
80763 ± 3% +20.0% 96896 ± 2% softirqs.CPU30.TIMER
83628 ± 2% +12.5% 94076 softirqs.CPU31.TIMER
85112 ± 4% +14.8% 97737 ± 3% softirqs.CPU32.TIMER
84626 ± 3% +10.9% 93812 softirqs.CPU33.TIMER
87944 ± 6% +12.1% 98575 softirqs.CPU34.TIMER
86859 +22.5% 106365 ± 13% softirqs.CPU36.TIMER
85336 ± 4% +16.8% 99655 ± 4% softirqs.CPU37.TIMER
85090 ± 2% +14.2% 97153 softirqs.CPU38.TIMER
19528 ± 4% +16.7% 22783 ± 8% softirqs.CPU4.RCU
84396 +18.0% 99614 softirqs.CPU4.TIMER
19042 ± 4% +8.8% 20714 ± 4% softirqs.CPU5.RCU
87389 ± 5% +12.7% 98473 ± 2% softirqs.CPU5.TIMER
20312 ± 3% +13.2% 22992 ± 6% softirqs.CPU6.RCU
84550 ± 3% +15.8% 97877 softirqs.CPU6.TIMER
18516 ± 7% +24.9% 23125 ± 5% softirqs.CPU8.RCU
82667 +28.2% 106005 ± 11% softirqs.CPU8.TIMER
764529 ± 2% +8.9% 832849 ± 5% softirqs.RCU
3442286 ± 2% +13.9% 3922206 softirqs.TIMER
275.00 ± 17% +64.0% 451.00 ± 28% interrupts.37:IR-PCI-MSI.524289-edge.eth0-TxRx-0
204.00 ± 56% +41.4% 288.50 ± 52% interrupts.40:IR-PCI-MSI.524292-edge.eth0-TxRx-3
103.67 +13.3% 117.50 interrupts.94:IR-PCI-MSI.512000-edge.ahci[0000:00:1f.2]
78055 +10.9% 86558 interrupts.CAL:Function_call_interrupts
425311 +13.1% 480959 interrupts.CPU0.LOC:Local_timer_interrupts
22301 ± 3% +25.5% 27997 interrupts.CPU0.RES:Rescheduling_interrupts
2033 ± 5% +12.1% 2278 ± 3% interrupts.CPU1.CAL:Function_call_interrupts
425286 +13.0% 480441 interrupts.CPU1.LOC:Local_timer_interrupts
22426 ± 3% +26.7% 28410 ± 2% interrupts.CPU1.RES:Rescheduling_interrupts
424918 +13.2% 480935 interrupts.CPU10.LOC:Local_timer_interrupts
22298 ± 2% +25.8% 28049 interrupts.CPU10.RES:Rescheduling_interrupts
1959 ± 5% +12.8% 2210 ± 6% interrupts.CPU11.CAL:Function_call_interrupts
424741 +13.1% 480460 interrupts.CPU11.LOC:Local_timer_interrupts
21914 ± 3% +27.7% 27983 interrupts.CPU11.RES:Rescheduling_interrupts
424836 +13.2% 480889 interrupts.CPU12.LOC:Local_timer_interrupts
21863 ± 3% +26.4% 27640 interrupts.CPU12.RES:Rescheduling_interrupts
1870 +21.7% 2276 ± 6% interrupts.CPU13.CAL:Function_call_interrupts
425017 +12.9% 479899 interrupts.CPU13.LOC:Local_timer_interrupts
1379 ±140% +232.7% 4590 ± 62% interrupts.CPU13.NMI:Non-maskable_interrupts
1379 ±140% +232.7% 4590 ± 62% interrupts.CPU13.PMI:Performance_monitoring_interrupts
21979 ± 2% +30.5% 28691 ± 3% interrupts.CPU13.RES:Rescheduling_interrupts
424883 +13.2% 480884 interrupts.CPU14.LOC:Local_timer_interrupts
21978 +27.1% 27940 ± 2% interrupts.CPU14.RES:Rescheduling_interrupts
1919 ± 8% +18.7% 2278 ± 6% interrupts.CPU15.CAL:Function_call_interrupts
425309 +13.0% 480679 interrupts.CPU15.LOC:Local_timer_interrupts
22330 ± 3% +25.9% 28118 interrupts.CPU15.RES:Rescheduling_interrupts
1925 ± 6% +18.0% 2271 ± 4% interrupts.CPU16.CAL:Function_call_interrupts
424967 +13.1% 480548 interrupts.CPU16.LOC:Local_timer_interrupts
21993 ± 3% +28.3% 28215 interrupts.CPU16.RES:Rescheduling_interrupts
2102 +9.7% 2305 ± 5% interrupts.CPU17.CAL:Function_call_interrupts
424760 +13.0% 480175 interrupts.CPU17.LOC:Local_timer_interrupts
22036 ± 2% +28.5% 28307 ± 2% interrupts.CPU17.RES:Rescheduling_interrupts
424881 +13.1% 480700 interrupts.CPU18.LOC:Local_timer_interrupts
22029 ± 3% +26.9% 27950 interrupts.CPU18.RES:Rescheduling_interrupts
424963 +13.1% 480489 interrupts.CPU19.LOC:Local_timer_interrupts
23004 ± 3% +27.6% 29354 ± 2% interrupts.CPU19.RES:Rescheduling_interrupts
424990 +13.1% 480714 interrupts.CPU2.LOC:Local_timer_interrupts
22102 ± 3% +26.5% 27967 interrupts.CPU2.RES:Rescheduling_interrupts
1757 ± 6% +17.1% 2057 ± 6% interrupts.CPU20.CAL:Function_call_interrupts
425145 +13.1% 480765 interrupts.CPU20.LOC:Local_timer_interrupts
22303 ± 2% +25.8% 28066 interrupts.CPU20.RES:Rescheduling_interrupts
425267 +12.9% 480312 interrupts.CPU21.LOC:Local_timer_interrupts
21813 ± 2% +27.1% 27723 interrupts.CPU21.RES:Rescheduling_interrupts
424618 +13.2% 480680 interrupts.CPU22.LOC:Local_timer_interrupts
22015 ± 3% +26.0% 27734 interrupts.CPU22.RES:Rescheduling_interrupts
1912 ± 8% +18.9% 2273 ± 5% interrupts.CPU23.CAL:Function_call_interrupts
424735 +13.1% 480469 interrupts.CPU23.LOC:Local_timer_interrupts
22040 +27.5% 28098 ± 3% interrupts.CPU23.RES:Rescheduling_interrupts
1924 ± 5% +6.4% 2048 ± 4% interrupts.CPU24.CAL:Function_call_interrupts
424618 +13.2% 480598 interrupts.CPU24.LOC:Local_timer_interrupts
21873 ± 2% +28.1% 28009 interrupts.CPU24.RES:Rescheduling_interrupts
424698 +13.1% 480416 interrupts.CPU25.LOC:Local_timer_interrupts
22041 +28.3% 28287 ± 2% interrupts.CPU25.RES:Rescheduling_interrupts
275.00 ± 17% +64.0% 451.00 ± 28% interrupts.CPU26.37:IR-PCI-MSI.524289-edge.eth0-TxRx-0
424902 +13.1% 480512 interrupts.CPU26.LOC:Local_timer_interrupts
22002 ± 3% +27.0% 27949 interrupts.CPU26.RES:Rescheduling_interrupts
424698 +13.2% 480806 interrupts.CPU27.LOC:Local_timer_interrupts
5859 ± 30% -81.3% 1093 ±173% interrupts.CPU27.NMI:Non-maskable_interrupts
5859 ± 30% -81.3% 1093 ±173% interrupts.CPU27.PMI:Performance_monitoring_interrupts
22290 +25.4% 27948 ± 3% interrupts.CPU27.RES:Rescheduling_interrupts
1904 ± 9% +12.6% 2144 ± 8% interrupts.CPU28.CAL:Function_call_interrupts
424963 +13.1% 480696 interrupts.CPU28.LOC:Local_timer_interrupts
21860 +28.7% 28145 interrupts.CPU28.RES:Rescheduling_interrupts
1933 ± 7% +18.4% 2288 ± 4% interrupts.CPU29.CAL:Function_call_interrupts
424503 +13.2% 480645 interrupts.CPU29.LOC:Local_timer_interrupts
22101 ± 4% +27.4% 28162 ± 3% interrupts.CPU29.RES:Rescheduling_interrupts
1994 ± 2% +11.0% 2214 ± 4% interrupts.CPU3.CAL:Function_call_interrupts
424920 +13.1% 480485 interrupts.CPU3.LOC:Local_timer_interrupts
21988 ± 2% +27.7% 28074 ± 2% interrupts.CPU3.RES:Rescheduling_interrupts
425052 +13.1% 480827 interrupts.CPU30.LOC:Local_timer_interrupts
22012 ± 2% +26.6% 27873 interrupts.CPU30.RES:Rescheduling_interrupts
1986 ± 6% +12.8% 2240 ± 5% interrupts.CPU31.CAL:Function_call_interrupts
424997 +13.1% 480581 interrupts.CPU31.LOC:Local_timer_interrupts
21947 ± 3% +27.3% 27935 ± 2% interrupts.CPU31.RES:Rescheduling_interrupts
204.00 ± 56% +41.4% 288.50 ± 52% interrupts.CPU32.40:IR-PCI-MSI.524292-edge.eth0-TxRx-3
424705 +13.1% 480486 interrupts.CPU32.LOC:Local_timer_interrupts
21887 +28.5% 28124 interrupts.CPU32.RES:Rescheduling_interrupts
425192 +13.0% 480284 interrupts.CPU33.LOC:Local_timer_interrupts
22206 ± 3% +25.4% 27853 ± 2% interrupts.CPU33.RES:Rescheduling_interrupts
1972 ± 6% +12.8% 2224 ± 6% interrupts.CPU34.CAL:Function_call_interrupts
424557 +13.2% 480684 interrupts.CPU34.LOC:Local_timer_interrupts
22117 ± 3% +25.6% 27777 interrupts.CPU34.RES:Rescheduling_interrupts
1894 +13.4% 2147 ± 4% interrupts.CPU35.CAL:Function_call_interrupts
424767 +13.1% 480496 interrupts.CPU35.LOC:Local_timer_interrupts
22043 ± 3% +28.0% 28225 interrupts.CPU35.RES:Rescheduling_interrupts
424967 +13.1% 480760 interrupts.CPU36.LOC:Local_timer_interrupts
21838 ± 3% +28.6% 28082 interrupts.CPU36.RES:Rescheduling_interrupts
1855 ± 3% +19.7% 2220 ± 7% interrupts.CPU37.CAL:Function_call_interrupts
424903 +13.0% 480330 interrupts.CPU37.LOC:Local_timer_interrupts
22221 ± 2% +27.8% 28392 ± 2% interrupts.CPU37.RES:Rescheduling_interrupts
1880 +15.3% 2167 ± 6% interrupts.CPU38.CAL:Function_call_interrupts
425042 +13.1% 480659 interrupts.CPU38.LOC:Local_timer_interrupts
21922 ± 3% +28.6% 28182 interrupts.CPU38.RES:Rescheduling_interrupts
1845 ± 2% +19.8% 2212 ± 6% interrupts.CPU39.CAL:Function_call_interrupts
425307 +13.0% 480459 interrupts.CPU39.LOC:Local_timer_interrupts
21737 ± 2% +30.3% 28324 ± 2% interrupts.CPU39.RES:Rescheduling_interrupts
1901 ± 8% +18.2% 2247 ± 4% interrupts.CPU4.CAL:Function_call_interrupts
424921 +13.2% 480871 interrupts.CPU4.LOC:Local_timer_interrupts
22205 ± 2% +26.1% 28002 interrupts.CPU4.RES:Rescheduling_interrupts
425096 +13.1% 480655 interrupts.CPU5.LOC:Local_timer_interrupts
22004 +28.7% 28319 ± 2% interrupts.CPU5.RES:Rescheduling_interrupts
103.67 +13.3% 117.50 interrupts.CPU6.94:IR-PCI-MSI.512000-edge.ahci[0000:00:1f.2]
425006 +13.1% 480843 interrupts.CPU6.LOC:Local_timer_interrupts
22177 +26.5% 28053 interrupts.CPU6.RES:Rescheduling_interrupts
1962 ± 5% +17.3% 2301 ± 7% interrupts.CPU7.CAL:Function_call_interrupts
424930 +13.1% 480702 interrupts.CPU7.LOC:Local_timer_interrupts
1402 ±138% +387.3% 6831 ± 49% interrupts.CPU7.NMI:Non-maskable_interrupts
1402 ±138% +387.3% 6831 ± 49% interrupts.CPU7.PMI:Performance_monitoring_interrupts
21891 ± 2% +28.1% 28048 ± 2% interrupts.CPU7.RES:Rescheduling_interrupts
1765 ± 6% +15.8% 2044 ± 5% interrupts.CPU8.CAL:Function_call_interrupts
423965 +13.4% 480881 interrupts.CPU8.LOC:Local_timer_interrupts
22606 ± 4% +23.5% 27917 interrupts.CPU8.RES:Rescheduling_interrupts
424961 +13.1% 480710 interrupts.CPU9.LOC:Local_timer_interrupts
22153 +27.1% 28146 ± 2% interrupts.CPU9.RES:Rescheduling_interrupts
16996312 +13.1% 19224399 interrupts.LOC:Local_timer_interrupts
883558 ± 2% +27.2% 1124085 interrupts.RES:Rescheduling_interrupts
43.50 -10.6 32.91 perf-profile.calltrace.cycles-pp.btrfs_delalloc_reserve_metadata.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write.vfs_write
42.95 -10.6 32.38 perf-profile.calltrace.cycles-pp.reserve_metadata_bytes.btrfs_delalloc_reserve_metadata.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write
41.58 -10.4 31.23 perf-profile.calltrace.cycles-pp._raw_spin_lock.reserve_metadata_bytes.btrfs_delalloc_reserve_metadata.btrfs_buffered_write.btrfs_file_write_iter
41.28 -10.3 30.96 perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock.reserve_metadata_bytes.btrfs_delalloc_reserve_metadata.btrfs_buffered_write
42.18 -10.3 31.90 perf-profile.calltrace.cycles-pp.space_info_add_old_bytes.block_rsv_release_bytes.btrfs_inode_rsv_release.btrfs_buffered_write.btrfs_file_write_iter
42.48 -10.3 32.21 perf-profile.calltrace.cycles-pp.block_rsv_release_bytes.btrfs_inode_rsv_release.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write
42.65 -10.3 32.39 perf-profile.calltrace.cycles-pp.btrfs_inode_rsv_release.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write.vfs_write
42.08 -10.2 31.85 perf-profile.calltrace.cycles-pp._raw_spin_lock.space_info_add_old_bytes.block_rsv_release_bytes.btrfs_inode_rsv_release.btrfs_buffered_write
0.87 ± 4% -0.6 0.27 ±100% perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
0.87 ± 4% -0.6 0.27 ±100% perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.secondary_startup_64
0.87 ± 4% -0.6 0.27 ±100% perf-profile.calltrace.cycles-pp.start_secondary.secondary_startup_64
0.88 ± 2% -0.5 0.40 ± 58% perf-profile.calltrace.cycles-pp.secondary_startup_64
2.01 -0.4 1.60 ± 3% perf-profile.calltrace.cycles-pp.btrfs_get_extent.btrfs_dirty_pages.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write
1.55 ± 2% -0.3 1.22 ± 3% perf-profile.calltrace.cycles-pp.btrfs_lookup_file_extent.btrfs_get_extent.btrfs_dirty_pages.btrfs_buffered_write.btrfs_file_write_iter
1.78 -0.3 1.46 perf-profile.calltrace.cycles-pp.read
1.53 ± 2% -0.3 1.21 ± 3% perf-profile.calltrace.cycles-pp.btrfs_search_slot.btrfs_lookup_file_extent.btrfs_get_extent.btrfs_dirty_pages.btrfs_buffered_write
1.10 ± 2% -0.3 0.81 ± 5% perf-profile.calltrace.cycles-pp.btrfs_read_lock_root_node.btrfs_search_slot.btrfs_lookup_file_extent.btrfs_get_extent.btrfs_dirty_pages
1.05 ± 2% -0.3 0.77 ± 6% perf-profile.calltrace.cycles-pp.btrfs_tree_read_lock.btrfs_read_lock_root_node.btrfs_search_slot.btrfs_lookup_file_extent.btrfs_get_extent
1.31 -0.2 1.06 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.read
1.32 -0.2 1.09 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.read
1.22 -0.2 1.01 perf-profile.calltrace.cycles-pp.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe.read
1.16 -0.2 0.95 perf-profile.calltrace.cycles-pp.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe.read
1.43 ± 4% -0.2 1.23 ± 3% perf-profile.calltrace.cycles-pp.prepare_pages.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write.vfs_write
0.76 ± 2% -0.2 0.58 ± 3% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.close
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.close
0.75 ± 2% -0.2 0.57 ± 3% perf-profile.calltrace.cycles-pp.dput.__fput.task_work_run.exit_to_usermode_loop.do_syscall_64
0.76 ± 2% -0.2 0.59 ± 3% perf-profile.calltrace.cycles-pp.close
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.calltrace.cycles-pp.exit_to_usermode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.close
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.calltrace.cycles-pp.task_work_run.exit_to_usermode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.close
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.calltrace.cycles-pp.__fput.task_work_run.exit_to_usermode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
0.74 ± 2% -0.2 0.57 ± 3% perf-profile.calltrace.cycles-pp.btrfs_evict_inode.evict.__dentry_kill.dentry_kill.dput
0.75 ± 2% -0.2 0.57 ± 3% perf-profile.calltrace.cycles-pp.dentry_kill.dput.__fput.task_work_run.exit_to_usermode_loop
0.75 ± 2% -0.2 0.57 ± 3% perf-profile.calltrace.cycles-pp.__dentry_kill.dentry_kill.dput.__fput.task_work_run
0.74 ± 2% -0.2 0.57 ± 3% perf-profile.calltrace.cycles-pp.evict.__dentry_kill.dentry_kill.dput.__fput
0.86 -0.1 0.73 perf-profile.calltrace.cycles-pp.new_sync_read.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe
0.72 ± 2% -0.1 0.58 ± 2% perf-profile.calltrace.cycles-pp.lseek64
0.83 -0.1 0.70 perf-profile.calltrace.cycles-pp.generic_file_read_iter.new_sync_read.vfs_read.ksys_read.do_syscall_64
0.74 ± 4% -0.1 0.61 ± 5% perf-profile.calltrace.cycles-pp.pagecache_get_page.prepare_pages.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write
0.64 ± 5% -0.1 0.58 ± 2% perf-profile.calltrace.cycles-pp.prepare_uptodate_page.prepare_pages.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write
0.59 ± 4% -0.0 0.54 ± 2% perf-profile.calltrace.cycles-pp.extent_read_full_page.prepare_uptodate_page.prepare_pages.btrfs_buffered_write.btrfs_file_write_iter
0.58 ± 5% -0.0 0.53 ± 2% perf-profile.calltrace.cycles-pp.__extent_read_full_page.extent_read_full_page.prepare_uptodate_page.prepare_pages.btrfs_buffered_write
94.94 +1.2 96.10 perf-profile.calltrace.cycles-pp.write
94.38 +1.2 95.60 perf-profile.calltrace.cycles-pp.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write
94.47 +1.2 95.69 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.write
94.49 +1.2 95.72 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.write
94.29 +1.2 95.53 perf-profile.calltrace.cycles-pp.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write
93.96 +1.3 95.23 perf-profile.calltrace.cycles-pp.new_sync_write.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe
93.90 +1.3 95.19 perf-profile.calltrace.cycles-pp.btrfs_file_write_iter.new_sync_write.vfs_write.ksys_write.do_syscall_64
93.59 +1.3 94.92 perf-profile.calltrace.cycles-pp.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write.vfs_write.ksys_write
41.79 +12.8 54.57 perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock.space_info_add_old_bytes.block_rsv_release_bytes.btrfs_inode_rsv_release
3.76 +22.7 26.46 perf-profile.calltrace.cycles-pp.btrfs_dirty_pages.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write.vfs_write
0.00 +23.2 23.16 perf-profile.calltrace.cycles-pp._raw_spin_lock.space_info_add_old_bytes.block_rsv_release_bytes.btrfs_inode_rsv_release.btrfs_clear_delalloc_extent
0.00 +23.2 23.20 perf-profile.calltrace.cycles-pp.space_info_add_old_bytes.block_rsv_release_bytes.btrfs_inode_rsv_release.btrfs_clear_delalloc_extent.clear_state_bit
0.83 ± 3% +23.3 24.09 perf-profile.calltrace.cycles-pp.clear_extent_bit.btrfs_dirty_pages.btrfs_buffered_write.btrfs_file_write_iter.new_sync_write
0.81 ± 3% +23.3 24.09 perf-profile.calltrace.cycles-pp.__clear_extent_bit.clear_extent_bit.btrfs_dirty_pages.btrfs_buffered_write.btrfs_file_write_iter
0.58 ± 2% +23.3 23.88 perf-profile.calltrace.cycles-pp.btrfs_clear_delalloc_extent.clear_state_bit.__clear_extent_bit.clear_extent_bit.btrfs_dirty_pages
0.60 ± 2% +23.3 23.90 perf-profile.calltrace.cycles-pp.clear_state_bit.__clear_extent_bit.clear_extent_bit.btrfs_dirty_pages.btrfs_buffered_write
0.00 +23.4 23.36 perf-profile.calltrace.cycles-pp.block_rsv_release_bytes.btrfs_inode_rsv_release.btrfs_clear_delalloc_extent.clear_state_bit.__clear_extent_bit
0.00 +23.5 23.48 perf-profile.calltrace.cycles-pp.btrfs_inode_rsv_release.btrfs_clear_delalloc_extent.clear_state_bit.__clear_extent_bit.clear_extent_bit
43.13 -10.6 32.50 perf-profile.children.cycles-pp.reserve_metadata_bytes
43.51 -10.6 32.92 perf-profile.children.cycles-pp.btrfs_delalloc_reserve_metadata
2.02 -0.4 1.60 ± 3% perf-profile.children.cycles-pp.btrfs_get_extent
0.88 ± 2% -0.4 0.51 ± 10% perf-profile.children.cycles-pp.secondary_startup_64
0.87 ± 4% -0.4 0.50 ± 9% perf-profile.children.cycles-pp.start_secondary
0.88 ± 2% -0.4 0.51 ± 10% perf-profile.children.cycles-pp.cpu_startup_entry
0.88 ± 2% -0.4 0.51 ± 10% perf-profile.children.cycles-pp.do_idle
0.83 ± 3% -0.4 0.48 ± 9% perf-profile.children.cycles-pp.cpuidle_enter_state
0.82 ± 4% -0.3 0.47 ± 9% perf-profile.children.cycles-pp.intel_idle
1.64 ± 2% -0.3 1.30 ± 3% perf-profile.children.cycles-pp.btrfs_search_slot
1.55 ± 2% -0.3 1.22 ± 3% perf-profile.children.cycles-pp.btrfs_lookup_file_extent
1.81 -0.3 1.50 perf-profile.children.cycles-pp.read
1.15 ± 3% -0.3 0.86 ± 4% perf-profile.children.cycles-pp.btrfs_read_lock_root_node
1.10 ± 4% -0.3 0.81 ± 6% perf-profile.children.cycles-pp.btrfs_tree_read_lock
1.01 ± 4% -0.3 0.74 ± 7% perf-profile.children.cycles-pp._raw_spin_lock_irqsave
1.23 -0.2 1.01 perf-profile.children.cycles-pp.ksys_read
1.43 ± 4% -0.2 1.24 ± 3% perf-profile.children.cycles-pp.prepare_pages
1.16 -0.2 0.96 perf-profile.children.cycles-pp.vfs_read
1.07 ± 3% -0.2 0.87 ± 3% perf-profile.children.cycles-pp.__set_extent_bit
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.children.cycles-pp.task_work_run
0.65 ± 5% -0.2 0.48 ± 9% perf-profile.children.cycles-pp.prepare_to_wait_event
0.76 ± 2% -0.2 0.59 ± 3% perf-profile.children.cycles-pp.close
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.children.cycles-pp.__fput
0.75 ± 2% -0.2 0.58 ± 3% perf-profile.children.cycles-pp.dput
0.74 ± 2% -0.2 0.57 ± 3% perf-profile.children.cycles-pp.btrfs_evict_inode
0.75 ± 2% -0.2 0.57 ± 3% perf-profile.children.cycles-pp.dentry_kill
0.75 ± 2% -0.2 0.57 ± 3% perf-profile.children.cycles-pp.__dentry_kill
0.75 ± 2% -0.2 0.58 ± 4% perf-profile.children.cycles-pp.exit_to_usermode_loop
0.74 ± 2% -0.2 0.57 ± 3% perf-profile.children.cycles-pp.evict
0.92 ± 2% -0.2 0.76 ± 3% perf-profile.children.cycles-pp.pagecache_get_page
0.75 ± 2% -0.1 0.61 perf-profile.children.cycles-pp.lseek64
0.87 -0.1 0.73 perf-profile.children.cycles-pp.new_sync_read
0.84 -0.1 0.70 perf-profile.children.cycles-pp.generic_file_read_iter
0.68 ± 2% -0.1 0.55 perf-profile.children.cycles-pp.entry_SYSCALL_64
0.46 -0.1 0.34 ± 5% perf-profile.children.cycles-pp.lock_and_cleanup_extent_if_need
0.32 ± 6% -0.1 0.21 ± 6% perf-profile.children.cycles-pp.creat
0.32 ± 5% -0.1 0.21 ± 6% perf-profile.children.cycles-pp.do_sys_open
0.32 ± 5% -0.1 0.21 ± 6% perf-profile.children.cycles-pp.do_filp_open
0.32 ± 5% -0.1 0.21 ± 6% perf-profile.children.cycles-pp.path_openat
1.00 ± 2% -0.1 0.90 ± 4% perf-profile.children.cycles-pp.can_overcommit
0.62 -0.1 0.52 perf-profile.children.cycles-pp.syscall_return_via_sysret
0.43 ± 5% -0.1 0.33 ± 5% perf-profile.children.cycles-pp.lock_extent_bits
0.57 ± 4% -0.1 0.48 ± 3% perf-profile.children.cycles-pp.set_extent_bit
0.31 ± 5% -0.1 0.22 ± 9% perf-profile.children.cycles-pp.finish_wait
0.43 ± 2% -0.1 0.35 perf-profile.children.cycles-pp.alloc_extent_state
0.16 ± 17% -0.1 0.09 ± 8% perf-profile.children.cycles-pp.call_rwsem_down_write_failed
0.16 ± 17% -0.1 0.09 ± 8% perf-profile.children.cycles-pp.rwsem_down_write_failed
0.20 ± 12% -0.1 0.13 ± 7% perf-profile.children.cycles-pp.down_write
0.23 ± 2% -0.1 0.16 ± 6% perf-profile.children.cycles-pp.do_unlinkat
0.23 -0.1 0.17 ± 3% perf-profile.children.cycles-pp.unlink
0.31 ± 3% -0.1 0.25 ± 2% perf-profile.children.cycles-pp.truncate_inode_pages_range
0.64 ± 5% -0.1 0.58 ± 2% perf-profile.children.cycles-pp.prepare_uptodate_page
0.46 -0.1 0.40 ± 3% perf-profile.children.cycles-pp.copy_page_to_iter
0.40 ± 5% -0.1 0.34 ± 3% perf-profile.children.cycles-pp.kmem_cache_alloc
0.48 ± 2% -0.1 0.42 ± 2% perf-profile.children.cycles-pp.copy_user_enhanced_fast_string
0.46 -0.1 0.40 ± 2% perf-profile.children.cycles-pp.__do_readpage
0.38 ± 6% -0.1 0.32 ± 2% perf-profile.children.cycles-pp.btrfs_set_extent_delalloc
0.31 -0.1 0.25 ± 5% perf-profile.children.cycles-pp.security_file_permission
0.29 ± 4% -0.1 0.24 perf-profile.children.cycles-pp.find_get_entry
0.17 ± 4% -0.1 0.12 ± 7% perf-profile.children.cycles-pp.btrfs_create
0.18 ± 9% -0.1 0.13 ± 5% perf-profile.children.cycles-pp.btrfs_trans_release_metadata
0.59 ± 4% -0.0 0.54 ± 2% perf-profile.children.cycles-pp.extent_read_full_page
0.17 ± 4% -0.0 0.12 ± 4% perf-profile.children.cycles-pp.btrfs_unlink
0.18 ± 9% -0.0 0.14 ± 8% perf-profile.children.cycles-pp.__btrfs_end_transaction
0.17 ± 4% -0.0 0.13 ± 3% perf-profile.children.cycles-pp.vfs_unlink
0.31 ± 5% -0.0 0.27 ± 3% perf-profile.children.cycles-pp.btrfs_alloc_data_chunk_ondemand
0.14 ± 11% -0.0 0.10 ± 8% perf-profile.children.cycles-pp.__btrfs_update_delayed_inode
0.33 ± 5% -0.0 0.29 ± 5% perf-profile.children.cycles-pp.btrfs_check_data_free_space
0.28 ± 7% -0.0 0.24 ± 5% perf-profile.children.cycles-pp.add_to_page_cache_lru
0.21 ± 8% -0.0 0.17 ± 4% perf-profile.children.cycles-pp.memset_erms
0.11 ± 15% -0.0 0.07 ± 6% perf-profile.children.cycles-pp.__btrfs_btree_balance_dirty
0.06 ± 7% -0.0 0.03 ±100% perf-profile.children.cycles-pp.__btrfs_unlink_inode
0.19 ± 4% -0.0 0.15 ± 2% perf-profile.children.cycles-pp.___might_sleep
0.16 ± 5% -0.0 0.12 ± 3% perf-profile.children.cycles-pp.xas_load
0.11 ± 19% -0.0 0.07 ± 10% perf-profile.children.cycles-pp.btrfs_delayed_inode_release_metadata
0.24 ± 5% -0.0 0.20 ± 3% perf-profile.children.cycles-pp.btrfs_copy_from_user
0.07 ± 17% -0.0 0.04 ± 57% perf-profile.children.cycles-pp.rwsem_spin_on_owner
0.21 ± 3% -0.0 0.17 ± 2% perf-profile.children.cycles-pp.selinux_file_permission
0.21 ± 6% -0.0 0.17 ± 4% perf-profile.children.cycles-pp.set_state_bits
0.36 ± 2% -0.0 0.33 ± 3% perf-profile.children.cycles-pp.copyout
0.10 ± 8% -0.0 0.07 ± 6% perf-profile.children.cycles-pp.start_transaction
0.09 ± 18% -0.0 0.06 ± 14% perf-profile.children.cycles-pp.btrfs_commit_inode_delayed_inode
0.18 ± 4% -0.0 0.15 ± 11% perf-profile.children.cycles-pp.__alloc_pages_nodemask
0.17 ± 5% -0.0 0.14 ± 5% perf-profile.children.cycles-pp.iov_iter_copy_from_user_atomic
0.12 ± 10% -0.0 0.09 ± 12% perf-profile.children.cycles-pp.free_extent_state
0.07 ± 6% -0.0 0.04 ± 57% perf-profile.children.cycles-pp.btrfs_delalloc_release_metadata
0.09 ± 10% -0.0 0.07 ± 7% perf-profile.children.cycles-pp.btrfs_block_rsv_add
0.10 ± 4% -0.0 0.08 ± 6% perf-profile.children.cycles-pp.truncate_cleanup_page
0.18 ± 7% -0.0 0.15 ± 7% perf-profile.children.cycles-pp.btrfs_calculate_inode_block_rsv_size
0.06 ± 7% -0.0 0.04 ± 57% perf-profile.children.cycles-pp.btrfs_unlink_inode
0.14 ± 3% -0.0 0.11 ± 7% perf-profile.children.cycles-pp.copyin
0.18 ± 2% -0.0 0.15 ± 5% perf-profile.children.cycles-pp.__set_page_dirty_nobuffers
0.08 ± 10% -0.0 0.06 ± 14% perf-profile.children.cycles-pp.kfree
0.12 ± 3% -0.0 0.10 ± 8% perf-profile.children.cycles-pp.release_pages
0.09 ± 9% -0.0 0.07 ± 10% perf-profile.children.cycles-pp.xas_store
0.08 ± 6% -0.0 0.06 ± 7% perf-profile.children.cycles-pp.split_state
0.07 -0.0 0.05 ± 8% perf-profile.children.cycles-pp.current_time
0.12 ± 4% -0.0 0.10 ± 7% perf-profile.children.cycles-pp.__pagevec_release
0.07 ± 7% -0.0 0.05 ± 8% perf-profile.children.cycles-pp.try_merge_map
0.10 -0.0 0.09 ± 4% perf-profile.children.cycles-pp.btrfs_add_extent_mapping
0.09 ± 24% +0.0 0.12 ± 13% perf-profile.children.cycles-pp.uart_console_write
0.09 ± 24% +0.0 0.12 ± 13% perf-profile.children.cycles-pp.serial8250_console_putchar
0.16 ± 7% +0.1 0.28 ± 3% perf-profile.children.cycles-pp.btrfs_free_reserved_data_space_noquota
97.42 +0.6 98.04 perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe
97.35 +0.6 97.97 perf-profile.children.cycles-pp.do_syscall_64
94.98 +1.2 96.13 perf-profile.children.cycles-pp.write
94.38 +1.2 95.61 perf-profile.children.cycles-pp.ksys_write
94.30 +1.2 95.54 perf-profile.children.cycles-pp.vfs_write
93.96 +1.3 95.24 perf-profile.children.cycles-pp.new_sync_write
93.91 +1.3 95.19 perf-profile.children.cycles-pp.btrfs_file_write_iter
93.60 +1.3 94.93 perf-profile.children.cycles-pp.btrfs_buffered_write
85.03 +2.0 87.03 perf-profile.children.cycles-pp.native_queued_spin_lock_slowpath
86.13 +2.3 88.43 perf-profile.children.cycles-pp._raw_spin_lock
42.75 +12.7 55.42 perf-profile.children.cycles-pp.space_info_add_old_bytes
43.08 +12.8 55.90 perf-profile.children.cycles-pp.block_rsv_release_bytes
42.99 +12.9 55.92 perf-profile.children.cycles-pp.btrfs_inode_rsv_release
3.76 +22.7 26.47 perf-profile.children.cycles-pp.btrfs_dirty_pages
1.36 ± 3% +23.2 24.57 perf-profile.children.cycles-pp.__clear_extent_bit
0.89 ± 2% +23.2 24.14 perf-profile.children.cycles-pp.clear_extent_bit
0.94 ± 2% +23.3 24.21 perf-profile.children.cycles-pp.clear_state_bit
0.67 +23.3 23.95 perf-profile.children.cycles-pp.btrfs_clear_delalloc_extent
0.82 ± 4% -0.3 0.47 ± 9% perf-profile.self.cycles-pp.intel_idle
0.60 ± 2% -0.1 0.49 ± 3% perf-profile.self.cycles-pp.entry_SYSCALL_64
0.62 -0.1 0.52 perf-profile.self.cycles-pp.syscall_return_via_sysret
0.30 ± 13% -0.1 0.21 ± 7% perf-profile.self.cycles-pp.reserve_metadata_bytes
0.48 -0.1 0.42 ± 3% perf-profile.self.cycles-pp.copy_user_enhanced_fast_string
0.51 ± 5% -0.1 0.45 ± 3% perf-profile.self.cycles-pp.can_overcommit
0.23 ± 7% -0.0 0.18 ± 8% perf-profile.self.cycles-pp.__set_extent_bit
0.23 ± 8% -0.0 0.19 ± 6% perf-profile.self.cycles-pp.kmem_cache_alloc
0.08 ± 12% -0.0 0.04 ± 57% perf-profile.self.cycles-pp.btrfs_get_extent
0.20 ± 6% -0.0 0.17 ± 6% perf-profile.self.cycles-pp.memset_erms
0.18 ± 10% -0.0 0.14 ± 5% perf-profile.self.cycles-pp.do_syscall_64
0.18 ± 6% -0.0 0.15 ± 2% perf-profile.self.cycles-pp.___might_sleep
0.07 ± 17% -0.0 0.04 ± 57% perf-profile.self.cycles-pp.rwsem_spin_on_owner
0.14 ± 6% -0.0 0.11 perf-profile.self.cycles-pp.btrfs_calculate_inode_block_rsv_size
0.11 ± 8% -0.0 0.08 ± 8% perf-profile.self.cycles-pp.free_extent_state
0.16 ± 6% -0.0 0.13 ± 5% perf-profile.self.cycles-pp.find_get_entry
0.10 ± 12% -0.0 0.08 ± 8% perf-profile.self.cycles-pp.xas_load
0.14 ± 3% -0.0 0.11 ± 4% perf-profile.self.cycles-pp.selinux_file_permission
0.14 -0.0 0.12 ± 8% perf-profile.self.cycles-pp.btrfs_file_write_iter
0.15 ± 5% -0.0 0.13 ± 3% perf-profile.self.cycles-pp.btrfs_buffered_write
0.11 ± 4% -0.0 0.09 ± 7% perf-profile.self.cycles-pp.generic_file_read_iter
0.10 ± 4% -0.0 0.09 ± 4% perf-profile.self.cycles-pp.btrfs_dirty_pages
0.06 -0.0 0.05 perf-profile.self.cycles-pp.rb_next
0.16 ± 2% +0.0 0.18 ± 2% perf-profile.self.cycles-pp.btrfs_drop_pages
0.05 ± 8% +0.0 0.09 ± 20% perf-profile.self.cycles-pp.btrfs_delalloc_reserve_metadata
0.00 +0.1 0.12 ± 8% perf-profile.self.cycles-pp.btrfs_free_reserved_data_space_noquota
84.44 +2.1 86.53 perf-profile.self.cycles-pp.native_queued_spin_lock_slowpath
aim7.jobs-per-min
50000 +-+-----------------------------------------------------------------+
45000 +-+ .+..+..+..+..+..+..+..+..+..+.+.. .+.. .+ |
| +. +..+..+. +..+. : +..+..|
40000 O-+ O O O O O O O O O O O O O O O O O O |
35000 +-+O O : : |
| : : |
30000 +-+ : : |
25000 +-+ : : |
20000 +-+ : : |
| : : |
15000 +-+ : : |
10000 +-+ : : |
| :: |
5000 +-+ : |
0 +-+------------------------------O----------------O-----------------+
aim7.time.system_time
10000 +-+-----------------------------------------------------------------+
9000 O-+O O O O O |
| O O O O O O O O O O O O O O O |
8000 +-++.. .+..+.. .+..+.. +..+..|
7000 +-+ +..+..+..+..+..+..+..+..+..+.+..+. +. + : |
| : : |
6000 +-+ : : |
5000 +-+ : : |
4000 +-+ : : |
| : : |
3000 +-+ : : |
2000 +-+ : : |
| : : |
1000 +-+ : |
0 +-+------------------------------O----------------O-----------------+
aim7.time.elapsed_time
250 +-+------O------------------------------------------------------------+
O O O O O O O O O O O O O O O O O O O O |
| .+..+.. +..+..|
200 +-++..+..+..+..+..+..+..+..+..+..+...+..+. +..+..+..+ : |
| : : |
| : : |
150 +-+ : : |
| : : |
100 +-+ : : |
| : : |
| : : |
50 +-+ : : |
| : : |
| : |
0 +-+------------------------------O------------------O-----------------+
aim7.time.elapsed_time.max
250 +-+------O------------------------------------------------------------+
O O O O O O O O O O O O O O O O O O O O |
| .+..+.. +..+..|
200 +-++..+..+..+..+..+..+..+..+..+..+...+..+. +..+..+..+ : |
| : : |
| : : |
150 +-+ : : |
| : : |
100 +-+ : : |
| : : |
| : : |
50 +-+ : : |
| : : |
| : |
0 +-+------------------------------O------------------O-----------------+
aim7.time.involuntary_context_switches
1e+06 +-+----------------------------------------------------------------+
900000 O-+O O |
| O O O O O O O O O O O O O O |
800000 +-+ O O O O |
700000 +-+ |
| .+.. +.. |
600000 +-++..+..+..+..+.+..+..+..+..+..+..+..+. +..+..+.+..+ : +..|
500000 +-+ : : |
400000 +-+ : : |
| : : |
300000 +-+ : : |
200000 +-+ : : |
| : : |
100000 +-+ : |
0 +-+-----------------------------O-----------------O----------------+
[*] bisect-good sample
[O] bisect-bad sample
Disclaimer:
Results have been estimated based on internal Intel analysis and are provided
for informational purposes only. Any difference in system hardware or software
design or configuration may affect actual performance.
Thanks,
Rong Chen
1 year, 6 months
Re: [LKP] CKI hackfest @Plumbers invite
by Veronika Kabatova
----- Original Message -----
> From: "Guillaume Tucker" <guillaume.tucker(a)gmail.com>
> To: kernelci(a)groups.io, vkabatov(a)redhat.com
> Cc: automated-testing(a)yoctoproject.org, info(a)kernelci.org, "Tim Bird" <Tim.Bird(a)sony.com>, khilamn(a)baylibre.org,
> syzkaller(a)googlegroups.com, lkp(a)lists.01.org, stable(a)vger.kernel.org, "Laura Abbott" <labbott(a)redhat.com>, "Eliska
> Slobodova" <eslobodo(a)redhat.com>, "CKI Project" <cki-project(a)redhat.com>
> Sent: Thursday, June 20, 2019 5:42:11 PM
> Subject: Re: CKI hackfest @Plumbers invite
>
> Hi Veronika,
>
> On Tue, May 21, 2019 at 3:55 PM Veronika Kabatova <vkabatov(a)redhat.com>
> wrote:
>
> > Hi,
> >
> > as some of you have heard, CKI Project is planning hackfest CI meetings
> > after
> > Plumbers conference this year (Sept. 12-13). We would like to invite
> > everyone
> > who has interest in CI for kernel to come and join us.
> >
> > The early agenda with summary is at the end of the email. If you think
> > there's
> > something important missing let us know! Also let us know in case you'd
> > want to
> > lead any of the sessions, we'd be happy to delegate out some work :)
> >
> >
> > Please send us an email as soon as you decide to come and feel free to
> > invite
> > other people who should be present. We are not planning to cap the
> > attendance
> > right now but need to solve the logistics based on the interest. The event
> > is
> > free to attend, no additional registration except letting us know is
> > needed.
> >
>
> Please do count me in as well!
>
\o/
> One topic I would like to add to the agenda is:
>
> - Open testing philosophy
> - Connecting components from different origins: builders, test
> labs, databases, dashboards...
> - Interoperability: documented remote APIs to let components
> talk to each other
> - kernelci.org already does this with distributed builds and
> test labs, it would be good to apply the same principles to
> to other existing systems doing upstream kernel testing for
> everyone's benefit
> - Optimal utilisation of available resources
> - Enable more high-level features by joining
> forces (bisections, cross-referencing of results, bug
> tracking...)
>
> This does have some commonality with "Common hardware pools"
> and "Avoiding effort duplication" but I think it makes sense to
> keep it together as a general approach.
>
I agree that this topic is important (and I believe some other CKI people
made that clear as well) so I added it to the agenda topics. The list of
those is getting long so we'd definitely need to curate it properly soon
but I'll make sure this stays there.
Thanks for the interest!
Veronika
> Thanks,
> Guillaume
>
> Feel free to contact us if you have any questions,
> > Veronika
> > CKI Project
> >
> >
> > -----------------------------------------------------------
> > Here is an early agenda we put together:
> > - Introductions
> > - Common place for upstream results, result publishing in general
> > - The discussion on the mailing list is going strong so we might be able
> > to
> > substitute this session for a different one in case everything is
> > solved by
> > September.
> > - Test result interpretation and bug detection
> > - How to autodetect infrastructure failures, regressions/new bugs and
> > test
> > bugs? How to handle continuous failures due to known bugs in both
> > tests and
> > kernel? What's your solution? Can people always trust the results they
> > receive?
> > - Getting results to developers/maintainers
> > - Aimed at kernel developers and maintainers, share your feedback and
> > expectations.
> > - How much data should be sent in the initial communication vs. a click
> > away
> > in a dashboard? Do you want incremental emails with new results as
> > they come
> > in?
> > - What about adding checks to tested patches in Patchwork when patch
> > series
> > are being tested?
> > - Providing enough data/script to reproduce the failure. What if special
> > HW
> > is needed?
> > - Onboarding new kernel trees to test
> > - Aimed at kernel developers and maintainers.
> > - Which trees are most prone to bring in new problems? Which are the most
> > critical ones? Do you want them to be tested? Which tests do you feel
> > are
> > most beneficial for specific trees or in general?
> > - Security when testing untrusted patches
> > - How do we merge, compile, and test patches that have untrusted code in
> > them
> > and have not yet been reviewed? How do we avoid abuse of systems,
> > information theft, or other damage?
> > - Check out the original patch that sparked the discussion at
> > https://patchwork.ozlabs.org/patch/862123/
> > - Avoiding effort duplication
> > - Food for thought by GregKH
> > - X different CI systems running ${TEST} on latest stable kernel on
> > x86_64
> > might look useless on the first look but is it? AMD/Intel CPUs,
> > different
> > network cards, different graphic drivers, compilers, kernel
> > configuration...
> > How do we distribute the workload to avoid doing the same thing all
> > over
> > again while still running in enough different environments to get the
> > most
> > coverage?
> > - Common hardware pools
> > - Is this something people are interested in? Would be helpful
> > especially for
> > HW that's hard to access, eg. ppc64le or s390x systems. Companies
> > could also
> > sing up to share their HW for testing to ensure kernel works with their
> > products.
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Groups.io Links: You receive all messages sent to this group.
> >
> > View/Reply Online (#404): https://groups.io/g/kernelci/message/404
> > Mute This Topic: https://groups.io/mt/31697554/924702
> > Group Owner: kernelci+owner(a)groups.io
> > Unsubscribe: https://groups.io/g/kernelci/unsub [
> > guillaume.tucker(a)gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
> >
>
1 year, 6 months
[tcp] 0b7d7f6b22: netperf.Throughput_Mbps 9.7% improvement
by kernel test robot
Greeting,
FYI, we noticed a 9.7% improvement of netperf.Throughput_Mbps due to commit:
commit: 0b7d7f6b22084a3156f267c85303908a8f4c9a08 ("tcp: add tcp_tx_skb_cache sysctl")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
in testcase: netperf
on test machine: 40 threads Skylake-SP with 64G memory
with following parameters:
ip: ipv4
runtime: 900s
nr_threads: 25%
cluster: cs-localhost
test: TCP_STREAM
cpufreq_governor: performance
test-description: Netperf is a benchmark that can be use to measure various aspect of networking performance.
test-url: http://www.netperf.org/netperf/
Details are as below:
-------------------------------------------------------------------------------------------------->
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
=========================================================================================
cluster/compiler/cpufreq_governor/ip/kconfig/nr_threads/rootfs/runtime/tbox_group/test/testcase:
cs-localhost/gcc-7/performance/ipv4/x86_64-rhel-7.6/25%/debian-x86_64-2019-05-14.cgz/900s/lkp-skl-sp2/TCP_STREAM/netperf
commit:
ede61ca474 ("tcp: add tcp_rx_skb_cache sysctl")
0b7d7f6b22 ("tcp: add tcp_tx_skb_cache sysctl")
ede61ca474a0348b 0b7d7f6b22084a3156f267c8530
---------------- ---------------------------
fail:runs %reproduction fail:runs
| | |
:4 25% 1:4 dmesg.WARNING:at#for_ip_interrupt_entry/0x
%stddev %change %stddev
\ | \
26597 ± 2% +9.7% 29165 netperf.Throughput_Mbps
265970 ± 2% +9.7% 291650 netperf.Throughput_total_Mbps
534.72 ± 2% +8.3% 579.35 netperf.time.user_time
1.826e+09 ± 2% +9.7% 2.003e+09 netperf.workload
736.25 ± 2% -2.2% 720.06 boot-time.idle
1380 -2.8% 1341 turbostat.Avg_MHz
5.014e+08 ± 9% -63.0% 1.853e+08 ± 6% cpuidle.POLL.time
1.086e+08 ± 9% -59.6% 43889116 ± 9% cpuidle.POLL.usage
1467418 -7.3% 1359567 vmstat.system.cs
82541 -1.4% 81414 vmstat.system.in
1680378 ± 39% +56.8% 2634500 ± 24% sched_debug.cfs_rq:/.MIN_vruntime.max
1680378 ± 39% +56.8% 2634500 ± 24% sched_debug.cfs_rq:/.max_vruntime.max
48058835 ± 5% -14.2% 41219240 ± 8% sched_debug.cpu.nr_switches.max
9.136e+08 ± 2% +9.5% 1.001e+09 proc-vmstat.numa_hit
9.136e+08 ± 2% +9.5% 1.001e+09 proc-vmstat.numa_local
7.304e+09 ± 2% +9.6% 8.003e+09 proc-vmstat.pgalloc_normal
7.304e+09 ± 2% +9.6% 8.003e+09 proc-vmstat.pgfree
22975 ± 5% -14.0% 19757 ± 5% softirqs.CPU1.RCU
4136190 ± 91% +399.2% 20646386 ± 19% softirqs.CPU12.NET_RX
19174130 ± 27% -50.9% 9409003 ± 42% softirqs.CPU16.NET_RX
8338169 ± 80% -70.6% 2453306 ± 73% softirqs.CPU19.NET_RX
29346983 ± 13% -71.5% 8362822 ± 43% softirqs.CPU32.NET_RX
58369 ± 88% +143.5% 142132 ± 6% softirqs.CPU32.SCHED
20633958 ± 28% -55.8% 9117560 ± 82% softirqs.CPU34.NET_RX
49.70 +5.8% 52.60 perf-stat.i.MPKI
1.081e+09 ± 2% +4.1% 1.126e+09 perf-stat.i.cache-references
1471912 -7.4% 1363353 perf-stat.i.context-switches
5.582e+10 -2.8% 5.425e+10 perf-stat.i.cpu-cycles
0.04 +0.0 0.05 perf-stat.i.dTLB-load-miss-rate%
2906127 ± 2% +5.3% 3061023 perf-stat.i.dTLB-load-misses
9690231 -1.6% 9530679 perf-stat.i.iTLB-loads
49.74 +5.8% 52.62 perf-stat.overall.MPKI
0.04 +0.0 0.05 perf-stat.overall.dTLB-load-miss-rate%
10716 -10.2% 9618 perf-stat.overall.path-length
1.08e+09 ± 2% +4.1% 1.124e+09 perf-stat.ps.cache-references
1470272 -7.4% 1361828 perf-stat.ps.context-switches
5.576e+10 -2.8% 5.419e+10 perf-stat.ps.cpu-cycles
2902892 ± 2% +5.3% 3057581 perf-stat.ps.dTLB-load-misses
9679435 -1.6% 9519990 perf-stat.ps.iTLB-loads
3.50 ± 82% +4000.0% 143.50 ±156% interrupts.42:PCI-MSI.54001672-edge.i40e-eth0-TxRx-7
7.50 ± 50% +5220.0% 399.00 ± 63% interrupts.43:PCI-MSI.54001673-edge.i40e-eth0-TxRx-8
44.25 ±164% +609.6% 314.00 ± 57% interrupts.47:PCI-MSI.54001677-edge.i40e-eth0-TxRx-12
414.25 ± 56% -97.0% 12.25 ± 72% interrupts.60:PCI-MSI.54001690-edge.i40e-eth0-TxRx-25
32425 ± 33% -52.5% 15391 ± 48% interrupts.CPU0.RES:Rescheduling_interrupts
30129 ± 16% -44.0% 16880 ± 22% interrupts.CPU1.RES:Rescheduling_interrupts
44.25 ±164% +608.5% 313.50 ± 57% interrupts.CPU12.47:PCI-MSI.54001677-edge.i40e-eth0-TxRx-12
3605 ± 40% +57.9% 5693 ± 29% interrupts.CPU12.NMI:Non-maskable_interrupts
3605 ± 40% +57.9% 5693 ± 29% interrupts.CPU12.PMI:Performance_monitoring_interrupts
6197 ± 30% -38.8% 3789 ± 25% interrupts.CPU16.NMI:Non-maskable_interrupts
6197 ± 30% -38.8% 3789 ± 25% interrupts.CPU16.PMI:Performance_monitoring_interrupts
39902 ± 64% -83.6% 6547 ± 67% interrupts.CPU19.RES:Rescheduling_interrupts
35730 ± 30% -54.5% 16242 ± 35% interrupts.CPU21.RES:Rescheduling_interrupts
49398 ± 34% -54.0% 22743 ± 81% interrupts.CPU22.RES:Rescheduling_interrupts
64829 ± 70% -75.0% 16198 ± 86% interrupts.CPU24.RES:Rescheduling_interrupts
413.75 ± 56% -97.3% 11.25 ± 79% interrupts.CPU25.60:PCI-MSI.54001690-edge.i40e-eth0-TxRx-25
6245 ± 25% -45.1% 3426 ± 30% interrupts.CPU26.NMI:Non-maskable_interrupts
6245 ± 25% -45.1% 3426 ± 30% interrupts.CPU26.PMI:Performance_monitoring_interrupts
40671 ± 45% -71.7% 11505 ± 44% interrupts.CPU33.RES:Rescheduling_interrupts
44964 ± 44% -82.6% 7818 ± 58% interrupts.CPU35.RES:Rescheduling_interrupts
71571 ± 60% -78.1% 15666 ± 54% interrupts.CPU37.RES:Rescheduling_interrupts
6.75 ± 53% +5807.4% 398.75 ± 63% interrupts.CPU8.43:PCI-MSI.54001673-edge.i40e-eth0-TxRx-8
41736 ± 60% -60.4% 16544 ± 30% interrupts.CPU8.RES:Rescheduling_interrupts
1722165 ± 6% -58.9% 707890 ± 6% interrupts.RES:Rescheduling_interrupts
50.26 ± 38% -41.5 8.72 ±103% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe
50.17 ± 38% -41.5 8.71 ±103% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe
30.70 ± 40% -26.2 4.50 ±107% perf-profile.calltrace.cycles-pp.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe
30.65 ± 40% -26.2 4.48 ±107% perf-profile.calltrace.cycles-pp.__sys_sendto.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe
4.53 ± 13% -4.5 0.00 perf-profile.calltrace.cycles-pp.sk_stream_alloc_skb.tcp_sendmsg_locked.tcp_sendmsg.sock_sendmsg.__sys_sendto
2.17 ± 15% -1.3 0.88 ± 9% perf-profile.calltrace.cycles-pp.poll_idle.cpuidle_enter_state.cpuidle_enter.do_idle.cpu_startup_entry
0.00 +0.6 0.61 ± 10% perf-profile.calltrace.cycles-pp.syscall_return_via_sysret.send.send_omni_inner.send_tcp_stream.main
3.41 ± 9% +0.7 4.07 ± 8% perf-profile.calltrace.cycles-pp.ip_output.__ip_queue_xmit.__tcp_transmit_skb.tcp_recvmsg.inet_recvmsg
3.11 ± 9% +0.7 3.81 ± 8% perf-profile.calltrace.cycles-pp.ip_finish_output2.ip_output.__ip_queue_xmit.__tcp_transmit_skb.tcp_recvmsg
0.00 +0.8 0.76 ± 12% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64.send.send_omni_inner.send_tcp_stream.main
0.83 ± 19% +0.9 1.69 ± 10% perf-profile.calltrace.cycles-pp._raw_spin_lock_bh.lock_sock_nested.tcp_sendmsg.sock_sendmsg.__sys_sendto
0.00 +0.9 0.87 ± 17% perf-profile.calltrace.cycles-pp.tcp_clean_rtx_queue.tcp_ack.tcp_rcv_established.tcp_v4_do_rcv.tcp_v4_rcv
0.95 ± 19% +0.9 1.83 ± 10% perf-profile.calltrace.cycles-pp.lock_sock_nested.tcp_sendmsg.sock_sendmsg.__sys_sendto.__x64_sys_sendto
0.00 +0.9 0.92 ± 17% perf-profile.calltrace.cycles-pp.tcp_ack.tcp_rcv_established.tcp_v4_do_rcv.tcp_v4_rcv.ip_protocol_deliver_rcu
0.61 ± 57% +1.0 1.58 ± 10% perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock_bh.lock_sock_nested.tcp_sendmsg.sock_sendmsg
0.12 ±173% +2.2 2.37 ± 17% perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock.free_one_page.__free_pages_ok.skb_release_data
0.28 ±100% +2.4 2.69 ± 16% perf-profile.calltrace.cycles-pp._raw_spin_lock.free_one_page.__free_pages_ok.skb_release_data.__kfree_skb
7.70 ± 8% +2.8 10.49 ± 8% perf-profile.calltrace.cycles-pp.__release_sock.release_sock.tcp_sendmsg.sock_sendmsg.__sys_sendto
7.87 ± 8% +2.8 10.67 ± 8% perf-profile.calltrace.cycles-pp.release_sock.tcp_sendmsg.sock_sendmsg.__sys_sendto.__x64_sys_sendto
0.32 ±100% +3.0 3.34 ± 9% perf-profile.calltrace.cycles-pp.free_one_page.__free_pages_ok.skb_release_data.__kfree_skb.tcp_clean_rtx_queue
4.74 ± 8% +3.1 7.83 ± 9% perf-profile.calltrace.cycles-pp.tcp_v4_do_rcv.__release_sock.release_sock.tcp_sendmsg.sock_sendmsg
4.64 ± 8% +3.1 7.75 ± 9% perf-profile.calltrace.cycles-pp.tcp_rcv_established.tcp_v4_do_rcv.__release_sock.release_sock.tcp_sendmsg
0.46 ± 59% +3.3 3.77 ± 10% perf-profile.calltrace.cycles-pp.__free_pages_ok.skb_release_data.__kfree_skb.tcp_clean_rtx_queue.tcp_ack
1.35 ± 22% +3.5 4.83 ± 8% perf-profile.calltrace.cycles-pp.tcp_ack.tcp_rcv_established.tcp_v4_do_rcv.__release_sock.release_sock
1.16 ± 21% +3.5 4.64 ± 8% perf-profile.calltrace.cycles-pp.tcp_clean_rtx_queue.tcp_ack.tcp_rcv_established.tcp_v4_do_rcv.__release_sock
0.63 ± 58% +4.3 4.90 ± 8% perf-profile.calltrace.cycles-pp.skb_release_data.__kfree_skb.tcp_clean_rtx_queue.tcp_ack.tcp_rcv_established
0.63 ± 58% +4.4 5.03 ± 8% perf-profile.calltrace.cycles-pp.__kfree_skb.tcp_clean_rtx_queue.tcp_ack.tcp_rcv_established.tcp_v4_do_rcv
2.58 ±173% +14.0 16.61 ± 19% perf-profile.calltrace.cycles-pp.__sys_recvfrom.__x64_sys_recvfrom.do_syscall_64.entry_SYSCALL_64_after_hwframe.recv
2.59 ±173% +14.0 16.63 ± 19% perf-profile.calltrace.cycles-pp.__x64_sys_recvfrom.do_syscall_64.entry_SYSCALL_64_after_hwframe.recv.recv_omni
2.67 ±173% +14.4 17.12 ± 19% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.recv.recv_omni.process_requests
2.68 ±173% +14.5 17.15 ± 19% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.recv.recv_omni.process_requests.spawn_child
2.81 ±173% +15.1 17.93 ± 19% perf-profile.calltrace.cycles-pp.recv.recv_omni.process_requests.spawn_child.accept_connection
2.85 ±173% +15.3 18.16 ± 19% perf-profile.calltrace.cycles-pp.recv_omni.process_requests.spawn_child.accept_connection.accept_connections
2.85 ±173% +15.3 18.16 ± 19% perf-profile.calltrace.cycles-pp.accept_connections.main.__libc_start_main
2.85 ±173% +15.3 18.16 ± 19% perf-profile.calltrace.cycles-pp.accept_connection.accept_connections.main.__libc_start_main
2.85 ±173% +15.3 18.16 ± 19% perf-profile.calltrace.cycles-pp.spawn_child.accept_connection.accept_connections.main.__libc_start_main
2.85 ±173% +15.3 18.16 ± 19% perf-profile.calltrace.cycles-pp.process_requests.spawn_child.accept_connection.accept_connections.main
5.40 ±173% +26.5 31.88 ± 12% perf-profile.calltrace.cycles-pp.__sys_sendto.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe.send
5.41 ±173% +26.5 31.95 ± 12% perf-profile.calltrace.cycles-pp.__x64_sys_sendto.do_syscall_64.entry_SYSCALL_64_after_hwframe.send.send_omni_inner
5.62 ±173% +27.6 33.25 ± 12% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.send.send_omni_inner.send_tcp_stream
5.63 ±173% +27.7 33.31 ± 12% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.send.send_omni_inner.send_tcp_stream.main
5.86 ±173% +28.9 34.77 ± 12% perf-profile.calltrace.cycles-pp.send.send_omni_inner.send_tcp_stream.main.__libc_start_main
5.92 ±173% +29.2 35.17 ± 12% perf-profile.calltrace.cycles-pp.send_omni_inner.send_tcp_stream.main.__libc_start_main
5.92 ±173% +29.3 35.18 ± 12% perf-profile.calltrace.cycles-pp.send_tcp_stream.main.__libc_start_main
8.78 ±173% +44.6 53.34 ± 14% perf-profile.calltrace.cycles-pp.__libc_start_main
8.78 ±173% +44.6 53.34 ± 14% perf-profile.calltrace.cycles-pp.main.__libc_start_main
4.53 ± 13% -4.1 0.39 ± 9% perf-profile.children.cycles-pp.sk_stream_alloc_skb
2.23 ± 14% -1.3 0.91 ± 10% perf-profile.children.cycles-pp.poll_idle
0.27 ± 11% -0.1 0.19 ± 11% perf-profile.children.cycles-pp.__skb_clone
0.17 ± 21% -0.0 0.12 ± 6% perf-profile.children.cycles-pp.finish_task_switch
0.07 ± 5% -0.0 0.06 perf-profile.children.cycles-pp.__sock_wfree
0.07 ± 6% +0.0 0.10 ± 11% perf-profile.children.cycles-pp.kmem_cache_free
0.11 ± 13% +0.1 0.16 ± 6% perf-profile.children.cycles-pp.__might_fault
0.16 ± 11% +0.1 0.21 ± 6% perf-profile.children.cycles-pp.___might_sleep
0.08 ± 5% +0.1 0.14 ± 11% perf-profile.children.cycles-pp.kmem_cache_alloc_node
0.09 ± 8% +0.1 0.16 ± 9% perf-profile.children.cycles-pp.__kmalloc_node_track_caller
0.00 +0.1 0.07 ± 16% perf-profile.children.cycles-pp.kfree_skbmem
0.10 ± 8% +0.1 0.17 ± 6% perf-profile.children.cycles-pp.__kmalloc_reserve
0.01 ±173% +0.1 0.09 ± 13% perf-profile.children.cycles-pp.recv_data
0.00 +0.1 0.08 ± 10% perf-profile.children.cycles-pp.raw_local_deliver
0.00 +0.1 0.09 ± 8% perf-profile.children.cycles-pp.kfree
0.01 ±173% +0.1 0.11 ± 14% perf-profile.children.cycles-pp.send_data
0.46 ± 7% +0.2 0.68 ± 8% perf-profile.children.cycles-pp.__alloc_skb
1.41 ± 7% +0.8 2.25 ± 8% perf-profile.children.cycles-pp._raw_spin_lock_bh
1.38 ± 7% +0.9 2.25 ± 9% perf-profile.children.cycles-pp.lock_sock_nested
8.37 ± 8% +2.8 11.21 ± 8% perf-profile.children.cycles-pp.release_sock
8.00 ± 8% +2.8 10.84 ± 8% perf-profile.children.cycles-pp.__release_sock
9.68 ± 8% +3.6 13.33 ± 9% perf-profile.children.cycles-pp.tcp_v4_do_rcv
9.53 ± 8% +3.7 13.19 ± 9% perf-profile.children.cycles-pp.tcp_rcv_established
1.22 ± 12% +4.1 5.33 ± 9% perf-profile.children.cycles-pp.skb_release_data
1.84 ± 11% +4.2 6.00 ± 9% perf-profile.children.cycles-pp.__kfree_skb
1.81 ± 9% +4.2 6.02 ± 9% perf-profile.children.cycles-pp.tcp_ack
1.53 ± 10% +4.2 5.77 ± 9% perf-profile.children.cycles-pp.tcp_clean_rtx_queue
2.82 ±173% +15.2 17.99 ± 19% perf-profile.children.cycles-pp.recv
2.85 ±173% +15.3 18.16 ± 19% perf-profile.children.cycles-pp.accept_connections
2.85 ±173% +15.3 18.16 ± 19% perf-profile.children.cycles-pp.accept_connection
2.85 ±173% +15.3 18.16 ± 19% perf-profile.children.cycles-pp.spawn_child
2.85 ±173% +15.3 18.16 ± 19% perf-profile.children.cycles-pp.process_requests
2.85 ±173% +15.3 18.16 ± 19% perf-profile.children.cycles-pp.recv_omni
5.89 ±173% +29.0 34.91 ± 12% perf-profile.children.cycles-pp.send
5.92 ±173% +29.2 35.17 ± 12% perf-profile.children.cycles-pp.send_omni_inner
5.92 ±173% +29.3 35.18 ± 12% perf-profile.children.cycles-pp.send_tcp_stream
8.78 ±173% +44.6 53.34 ± 14% perf-profile.children.cycles-pp.__libc_start_main
8.78 ±173% +44.6 53.36 ± 14% perf-profile.children.cycles-pp.main
2.20 ± 15% -1.3 0.89 ± 10% perf-profile.self.cycles-pp.poll_idle
0.36 ± 5% -0.1 0.27 ± 9% perf-profile.self.cycles-pp.tcp_clean_rtx_queue
0.24 ± 11% -0.1 0.17 ± 10% perf-profile.self.cycles-pp.__skb_clone
0.06 ± 13% +0.0 0.10 ± 13% perf-profile.self.cycles-pp.__kmalloc_node_track_caller
0.06 ± 7% +0.0 0.10 ± 11% perf-profile.self.cycles-pp.kmem_cache_alloc_node
0.16 ± 11% +0.0 0.21 ± 7% perf-profile.self.cycles-pp.___might_sleep
0.01 ±173% +0.1 0.07 ± 12% perf-profile.self.cycles-pp.recv_data
0.00 +0.1 0.06 ± 17% perf-profile.self.cycles-pp.send_data
0.00 +0.1 0.07 ± 13% perf-profile.self.cycles-pp.kfree_skbmem
0.01 ±173% +0.1 0.08 ± 19% perf-profile.self.cycles-pp.recv
0.07 ± 15% +0.1 0.14 ± 5% perf-profile.self.cycles-pp.__alloc_skb
0.00 +0.1 0.08 ± 10% perf-profile.self.cycles-pp.raw_local_deliver
0.02 ±173% +0.1 0.11 ± 20% perf-profile.self.cycles-pp.recv_omni
0.00 +0.1 0.09 ± 11% perf-profile.self.cycles-pp.kfree
0.03 ±173% +0.1 0.17 ± 14% perf-profile.self.cycles-pp.send
0.03 ±173% +0.2 0.19 ± 12% perf-profile.self.cycles-pp.send_omni_inner
0.49 ± 10% +0.7 1.21 ± 10% perf-profile.self.cycles-pp.skb_release_data
netperf.Throughput_Mbps
30000 O-OO-O-O-OO-O-O-OO-O-O-O--O-O-O--O----O---O--O-O-O-OO---O-OO--------+
| ++.+.+. .+. +.+O.+ +O.+.O O+.O.+.O+.+.+. +.O.+.+ +.|
25000 +-+ ++ +.++ : : : : : + + +.+.+.+ |
| : : : : : : : |
| : : : : : : : |
20000 +-+ : : : : : : |
|: : : : : : : |
15000 +-+ : : : : : : |
|: : : : : :: |
10000 +-+ : : : : :: |
|: : : : : :: |
| : : : |
5000 +-+ : : : |
| : : : |
0 +-+-----------------------------------------------------------------+
[*] bisect-good sample
[O] bisect-bad sample
Disclaimer:
Results have been estimated based on internal Intel analysis and are provided
for informational purposes only. Any difference in system hardware or software
design or configuration may affect actual performance.
Thanks,
Rong Chen
1 year, 6 months
[bpf] 9fe4f05d33: kernel_selftests.bpf.test_verifier.fail
by kernel test robot
FYI, we noticed the following commit (built with gcc-7):
commit: 9fe4f05d33eae0421a065e3bced38905b789c4e8 ("[PATCH v3 bpf-next 4/9] bpf: introduce bounded loops")
url: https://github.com/0day-ci/linux/commits/Alexei-Starovoitov/bpf-bounded-l...
base: https://git.kernel.org/cgit/linux/kernel/git/bpf/bpf-next.git master
in testcase: kernel_selftests
with following parameters:
group: kselftests-00
test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 4G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
# selftests: bpf: test_verifier
# #0/u invalid and of negative number OK
# #0/p invalid and of negative number OK
# #1/u invalid range check OK
# #1/p invalid range check OK
# #2/u valid map access into an array with a constant OK
# #2/p valid map access into an array with a constant OK
# #3/u valid map access into an array with a register OK
# #3/p valid map access into an array with a register OK
# #4/u valid map access into an array with a variable OK
# #4/p valid map access into an array with a variable OK
# #5/u valid map access into an array with a signed variable OK
# #5/p valid map access into an array with a signed variable OK
# #6/u invalid map access into an array with a constant OK
# #6/p invalid map access into an array with a constant OK
# #7/u invalid map access into an array with a register OK
# #7/p invalid map access into an array with a register OK
# #8/u invalid map access into an array with a variable OK
# #8/p invalid map access into an array with a variable OK
# #9/u invalid map access into an array with no floor check OK
# #9/p invalid map access into an array with no floor check OK
# #10/u invalid map access into an array with a invalid max check OK
# #10/p invalid map access into an array with a invalid max check OK
# #11/u invalid map access into an array with a invalid max check OK
# #11/p invalid map access into an array with a invalid max check OK
# #12/u valid read map access into a read-only array 1 OK
# #12/p valid read map access into a read-only array 1 OK
# #13/p valid read map access into a read-only array 2 OK
# #14/u invalid write map access into a read-only array 1 OK
# #14/p invalid write map access into a read-only array 1 OK
# #15/p invalid write map access into a read-only array 2 OK
# #16/u valid write map access into a write-only array 1 OK
# #16/p valid write map access into a write-only array 1 OK
# #17/p valid write map access into a write-only array 2 OK
# #18/u invalid read map access into a write-only array 1 OK
# #18/p invalid read map access into a write-only array 1 OK
# #19/p invalid read map access into a write-only array 2 OK
# #20/u empty prog OK
# #20/p empty prog OK
# #21/u only exit insn OK
# #21/p only exit insn OK
# #22/u no bpf_exit OK
# #22/p no bpf_exit OK
# #23/u invalid call insn1 OK
# #23/p invalid call insn1 OK
# #24/u invalid call insn2 OK
# #24/p invalid call insn2 OK
# #25/u invalid function call OK
# #25/p invalid function call OK
# #26/p invalid argument register OK
# #27/p non-invalid argument register OK
# #28/u add+sub+mul OK
# #28/p add+sub+mul OK
# #29/p xor32 zero extend check OK
# #30/u arsh32 on imm OK
# #30/p arsh32 on imm OK
# #31/u arsh32 on imm 2 OK
# #31/p arsh32 on imm 2 OK
# #32/u arsh32 on reg OK
# #32/p arsh32 on reg OK
# #33/u arsh32 on reg 2 OK
# #33/p arsh32 on reg 2 OK
# #34/u arsh64 on imm OK
# #34/p arsh64 on imm OK
# #35/u arsh64 on reg OK
# #35/p arsh64 on reg OK
# #36/u invalid 64-bit BPF_END OK
# #36/p invalid 64-bit BPF_END OK
# #37/p mov64 src == dst OK
# #38/p mov64 src != dst OK
# #39/u stack out of bounds OK
# #39/p stack out of bounds OK
# #40/u uninitialized stack1 OK
# #40/p uninitialized stack1 OK
# #41/u uninitialized stack2 OK
# #41/p uninitialized stack2 OK
# #42/u invalid fp arithmetic OK
# #42/p invalid fp arithmetic OK
# #43/u non-invalid fp arithmetic OK
# #43/p non-invalid fp arithmetic OK
# #44/u misaligned read from stack OK
# #44/p misaligned read from stack OK
# #45/u invalid src register in STX OK
# #45/p invalid src register in STX OK
# #46/u invalid dst register in STX OK
# #46/p invalid dst register in STX OK
# #47/u invalid dst register in ST OK
# #47/p invalid dst register in ST OK
# #48/u invalid src register in LDX OK
# #48/p invalid src register in LDX OK
# #49/u invalid dst register in LDX OK
# #49/p invalid dst register in LDX OK
# #50/u subtraction bounds (map value) variant 1 OK
# #50/p subtraction bounds (map value) variant 1 OK
# #51/u subtraction bounds (map value) variant 2 OK
# #51/p subtraction bounds (map value) variant 2 OK
# #52/u check subtraction on pointers for unpriv OK
# #52/p check subtraction on pointers for unpriv OK
# #53/u bounds check based on zero-extended MOV OK
# #53/p bounds check based on zero-extended MOV OK
# #54/u bounds check based on sign-extended MOV. test1 OK
# #54/p bounds check based on sign-extended MOV. test1 OK
# #55/u bounds check based on sign-extended MOV. test2 OK
# #55/p bounds check based on sign-extended MOV. test2 OK
# #56/p bounds check based on reg_off + var_off + insn_off. test1 OK
# #57/p bounds check based on reg_off + var_off + insn_off. test2 OK
# #58/u bounds check after truncation of non-boundary-crossing range OK
# #58/p bounds check after truncation of non-boundary-crossing range OK
# #59/u bounds check after truncation of boundary-crossing range (1) OK
# #59/p bounds check after truncation of boundary-crossing range (1) OK
# #60/u bounds check after truncation of boundary-crossing range (2) OK
# #60/p bounds check after truncation of boundary-crossing range (2) OK
# #61/u bounds check after wrapping 32-bit addition OK
# #61/p bounds check after wrapping 32-bit addition OK
# #62/u bounds check after shift with oversized count operand OK
# #62/p bounds check after shift with oversized count operand OK
# #63/u bounds check after right shift of maybe-negative number OK
# #63/p bounds check after right shift of maybe-negative number OK
# #64/u bounds check after 32-bit right shift with 64-bit input OK
# #64/p bounds check after 32-bit right shift with 64-bit input OK
# #65/u bounds check map access with off+size signed 32bit overflow. test1 OK
# #65/p bounds check map access with off+size signed 32bit overflow. test1 OK
# #66/u bounds check map access with off+size signed 32bit overflow. test2 OK
# #66/p bounds check map access with off+size signed 32bit overflow. test2 OK
# #67/u bounds check map access with off+size signed 32bit overflow. test3 OK
# #67/p bounds check map access with off+size signed 32bit overflow. test3 OK
# #68/u bounds check map access with off+size signed 32bit overflow. test4 OK
# #68/p bounds check map access with off+size signed 32bit overflow. test4 OK
# #69/u check deducing bounds from const, 1 OK
# #69/p check deducing bounds from const, 1 OK
# #70/u check deducing bounds from const, 2 OK
# #70/p check deducing bounds from const, 2 OK
# #71/u check deducing bounds from const, 3 OK
# #71/p check deducing bounds from const, 3 OK
# #72/u check deducing bounds from const, 4 OK
# #72/p check deducing bounds from const, 4 OK
# #73/u check deducing bounds from const, 5 OK
# #73/p check deducing bounds from const, 5 OK
# #74/u check deducing bounds from const, 6 OK
# #74/p check deducing bounds from const, 6 OK
# #75/u check deducing bounds from const, 7 OK
# #75/p check deducing bounds from const, 7 OK
# #76/u check deducing bounds from const, 8 OK
# #76/p check deducing bounds from const, 8 OK
# #77/u check deducing bounds from const, 9 OK
# #77/p check deducing bounds from const, 9 OK
# #78/u check deducing bounds from const, 10 OK
# #78/p check deducing bounds from const, 10 OK
# #79/u bounds checks mixing signed and unsigned, positive bounds OK
# #79/p bounds checks mixing signed and unsigned, positive bounds OK
# #80/u bounds checks mixing signed and unsigned OK
# #80/p bounds checks mixing signed and unsigned OK
# #81/u bounds checks mixing signed and unsigned, variant 2 OK
# #81/p bounds checks mixing signed and unsigned, variant 2 OK
# #82/u bounds checks mixing signed and unsigned, variant 3 OK
# #82/p bounds checks mixing signed and unsigned, variant 3 OK
# #83/u bounds checks mixing signed and unsigned, variant 4 OK
# #83/p bounds checks mixing signed and unsigned, variant 4 OK
# #84/u bounds checks mixing signed and unsigned, variant 5 OK
# #84/p bounds checks mixing signed and unsigned, variant 5 OK
# #85/u bounds checks mixing signed and unsigned, variant 6 OK
# #85/p bounds checks mixing signed and unsigned, variant 6 OK
# #86/u bounds checks mixing signed and unsigned, variant 7 OK
# #86/p bounds checks mixing signed and unsigned, variant 7 OK
# #87/u bounds checks mixing signed and unsigned, variant 8 OK
# #87/p bounds checks mixing signed and unsigned, variant 8 OK
# #88/u bounds checks mixing signed and unsigned, variant 9 OK
# #88/p bounds checks mixing signed and unsigned, variant 9 OK
# #89/u bounds checks mixing signed and unsigned, variant 10 OK
# #89/p bounds checks mixing signed and unsigned, variant 10 OK
# #90/u bounds checks mixing signed and unsigned, variant 11 OK
# #90/p bounds checks mixing signed and unsigned, variant 11 OK
# #91/u bounds checks mixing signed and unsigned, variant 12 OK
# #91/p bounds checks mixing signed and unsigned, variant 12 OK
# #92/u bounds checks mixing signed and unsigned, variant 13 OK
# #92/p bounds checks mixing signed and unsigned, variant 13 OK
# #93/u bounds checks mixing signed and unsigned, variant 14 OK
# #93/p bounds checks mixing signed and unsigned, variant 14 OK
# #94/u bounds checks mixing signed and unsigned, variant 15 OK
# #94/p bounds checks mixing signed and unsigned, variant 15 OK
# #95/p bpf_get_stack return R0 within range OK
# #96/p calls: basic sanity OK
# #97/u calls: not on unpriviledged OK
# #97/p calls: not on unpriviledged OK
# #98/p calls: div by 0 in subprog OK
# #99/p calls: multiple ret types in subprog 1 OK
# #100/p calls: multiple ret types in subprog 2 OK
# #101/p calls: overlapping caller/callee OK
# #102/p calls: wrong recursive calls OK
# #103/p calls: wrong src reg OK
# #104/p calls: wrong off value OK
# #105/p calls: jump back loop OK
# #106/p calls: conditional call OK
# #107/p calls: conditional call 2 OK
# #108/p calls: conditional call 3 FAIL
# Unexpected success to load!
# verification time 7 usec
# stack depth 0
# processed 15 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
# #109/p calls: conditional call 4 OK
# #110/p calls: conditional call 5 FAIL
# Unexpected success to load!
# verification time 48 usec
# stack depth 0+0
# processed 15 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
# #111/p calls: conditional call 6 FAIL
# Unexpected error message!
# EXP: back-edge from insn
# RES: R1 !read_ok
# verification time 8 usec
# stack depth 0+0
# processed 7 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
#
# R1 !read_ok
# verification time 8 usec
# stack depth 0+0
# processed 7 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
# #112/p calls: using r0 returned by callee OK
# #113/p calls: using uninit r0 from callee OK
# #114/p calls: callee is using r1 OK
# #115/u calls: callee using args1 OK
# #115/p calls: callee using args1 OK
# #116/p calls: callee using wrong args2 OK
# #117/u calls: callee using two args OK
# #117/p calls: callee using two args OK
# #118/p calls: callee changing pkt pointers OK
# #119/u calls: ptr null check in subprog OK
# #119/p calls: ptr null check in subprog OK
# #120/p calls: two calls with args OK
# #121/p calls: calls with stack arith OK
# #122/p calls: calls with misaligned stack access OK
# #123/p calls: calls control flow, jump test OK
# #124/p calls: calls control flow, jump test 2 OK
# #125/p calls: two calls with bad jump OK
# #126/p calls: recursive call. test1 OK
# #127/p calls: recursive call. test2 OK
# #128/p calls: unreachable code OK
# #129/p calls: invalid call OK
# #130/p calls: invalid call 2 OK
# #131/p calls: jumping across function bodies. test1 OK
# #132/p calls: jumping across function bodies. test2 OK
# #133/p calls: call without exit OK
# #134/p calls: call into middle of ld_imm64 OK
# #135/p calls: call into middle of other call OK
# #136/p calls: ld_abs with changing ctx data in callee OK
# #137/p calls: two calls with bad fallthrough OK
# #138/p calls: two calls with stack read OK
# #139/p calls: two calls with stack write OK
# #140/p calls: stack overflow using two frames (pre-call access) OK
# #141/p calls: stack overflow using two frames (post-call access) OK
# #142/p calls: stack depth check using three frames. test1 OK
# #143/p calls: stack depth check using three frames. test2 OK
# #144/p calls: stack depth check using three frames. test3 OK
# #145/p calls: stack depth check using three frames. test4 OK
# #146/p calls: stack depth check using three frames. test5 OK
# #147/p calls: stack depth check in dead code OK
# #148/p calls: spill into caller stack frame OK
# #149/p calls: write into caller stack frame OK
# #150/p calls: write into callee stack frame OK
# #151/p calls: two calls with stack write and void return OK
# #152/u calls: ambiguous return value OK
# #152/p calls: ambiguous return value OK
# #153/p calls: two calls that return map_value OK
# #154/p calls: two calls that return map_value with bool condition OK
# #155/p calls: two calls that return map_value with incorrect bool check OK
# #156/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test1 OK
# #157/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test2 OK
# #158/p calls: two jumps that receive map_value via arg=ptr_stack_of_jumper. test3 OK
# #159/p calls: two calls that receive map_value_ptr_or_null via arg. test1 OK
# #160/p calls: two calls that receive map_value_ptr_or_null via arg. test2 OK
# #161/p calls: pkt_ptr spill into caller stack OK
# #162/p calls: pkt_ptr spill into caller stack 2 OK
# #163/p calls: pkt_ptr spill into caller stack 3 OK
# #164/p calls: pkt_ptr spill into caller stack 4 OK
# #165/p calls: pkt_ptr spill into caller stack 5 OK
# #166/p calls: pkt_ptr spill into caller stack 6 OK
# #167/p calls: pkt_ptr spill into caller stack 7 OK
# #168/p calls: pkt_ptr spill into caller stack 8 OK
# #169/p calls: pkt_ptr spill into caller stack 9 OK
# #170/p calls: caller stack init to zero or map_value_or_null OK
# #171/p calls: stack init to zero and pruning OK
# #172/u calls: ctx read at start of subprog OK
# #172/p calls: ctx read at start of subprog OK
# #173/u calls: cross frame pruning OK
# #173/p calls: cross frame pruning FAIL
# Unexpected success to load!
# verification time 85 usec
# stack depth 0+0
# processed 15 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 0
# #174/u calls: cross frame pruning - liveness propagation OK
# #174/p calls: cross frame pruning - liveness propagation OK
# #175/u unreachable OK
# #175/p unreachable OK
# #176/u unreachable2 OK
# #176/p unreachable2 OK
# #177/u out of range jump OK
# #177/p out of range jump OK
# #178/u out of range jump2 OK
# #178/p out of range jump2 OK
# #179/u loop (back-edge) OK
# #179/p loop (back-edge) FAIL
# Unexpected error message!
# EXP: back-edge
# RES: unreachable insn 1
# verification time 4 usec
# stack depth 0
# processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
#
# unreachable insn 1
# verification time 4 usec
# stack depth 0
# processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
# #180/u loop2 (back-edge) OK
# #180/p loop2 (back-edge) FAIL
# Unexpected error message!
# EXP: back-edge
# RES: unreachable insn 4
# verification time 5 usec
# stack depth 0
# processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
#
# unreachable insn 4
# verification time 5 usec
# stack depth 0
# processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
# #181/u conditional loop OK
# #181/p conditional loop FAIL
# Unexpected error message!
# EXP: back-edge
# RES: R0 !read_ok
# verification time 6 usec
# stack depth 0
# processed 1 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
#
# R0 !read_ok
# verification time 6 usec
# stack depth 0
# processed 1 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
# #182/p bpf_exit with invalid return code. test1 OK
# #183/p bpf_exit with invalid return code. test2 OK
# #184/p bpf_exit with invalid return code. test3 OK
# #185/p bpf_exit with invalid return code. test4 OK
# #186/p bpf_exit with invalid return code. test5 OK
# #187/p bpf_exit with invalid return code. test6 OK
# #188/p bpf_exit with invalid return code. test7 OK
# #189/u direct packet read test#1 for CGROUP_SKB OK
# #189/p direct packet read test#1 for CGROUP_SKB OK
# #190/u direct packet read test#2 for CGROUP_SKB OK
# #190/p direct packet read test#2 for CGROUP_SKB OK
# #191/u direct packet read test#3 for CGROUP_SKB OK
# #191/p direct packet read test#3 for CGROUP_SKB OK
# #192/u direct packet read test#4 for CGROUP_SKB OK
# #192/p direct packet read test#4 for CGROUP_SKB OK
# #193/u invalid access of tc_classid for CGROUP_SKB OK
# #193/p invalid access of tc_classid for CGROUP_SKB OK
# #194/u invalid access of data_meta for CGROUP_SKB OK
# #194/p invalid access of data_meta for CGROUP_SKB OK
# #195/u invalid access of flow_keys for CGROUP_SKB OK
# #195/p invalid access of flow_keys for CGROUP_SKB OK
# #196/u invalid write access to napi_id for CGROUP_SKB OK
# #196/p invalid write access to napi_id for CGROUP_SKB OK
# #197/u write tstamp from CGROUP_SKB OK
# #197/p write tstamp from CGROUP_SKB OK
# #198/u read tstamp from CGROUP_SKB OK
# #198/p read tstamp from CGROUP_SKB OK
# #199/u valid cgroup storage access OK
# #199/p valid cgroup storage access OK
# #200/u invalid cgroup storage access 1 OK
# #200/p invalid cgroup storage access 1 OK
# #201/u invalid cgroup storage access 2 OK
# #201/p invalid cgroup storage access 2 OK
# #202/u invalid cgroup storage access 3 OK
# #202/p invalid cgroup storage access 3 OK
# #203/u invalid cgroup storage access 4 OK
# #203/p invalid cgroup storage access 4 OK
# #204/u invalid cgroup storage access 5 OK
# #204/p invalid cgroup storage access 5 OK
# #205/u invalid cgroup storage access 6 OK
# #205/p invalid cgroup storage access 6 OK
# #206/u valid per-cpu cgroup storage access OK
# #206/p valid per-cpu cgroup storage access OK
# #207/u invalid per-cpu cgroup storage access 1 OK
# #207/p invalid per-cpu cgroup storage access 1 OK
# #208/u invalid per-cpu cgroup storage access 2 OK
# #208/p invalid per-cpu cgroup storage access 2 OK
# #209/u invalid per-cpu cgroup storage access 3 OK
# #209/p invalid per-cpu cgroup storage access 3 OK
# #210/u invalid per-cpu cgroup storage access 4 OK
# #210/p invalid per-cpu cgroup storage access 4 OK
# #211/u invalid per-cpu cgroup storage access 5 OK
# #211/p invalid per-cpu cgroup storage access 5 OK
# #212/u invalid per-cpu cgroup storage access 6 OK
# #212/p invalid per-cpu cgroup storage access 6 OK
# #213/p constant register |= constant should keep constant type OK
# #214/p constant register |= constant should not bypass stack boundary checks OK
# #215/p constant register |= constant register should keep constant type OK
# #216/p constant register |= constant register should not bypass stack boundary checks OK
# #217/p context stores via ST OK
# #218/p context stores via XADD OK
# #219/p arithmetic ops make PTR_TO_CTX unusable OK
# #220/p pass unmodified ctx pointer to helper OK
# #221/p pass modified ctx pointer to helper, 1 OK
# #222/u pass modified ctx pointer to helper, 2 OK
# #222/p pass modified ctx pointer to helper, 2 OK
# #223/p pass modified ctx pointer to helper, 3 OK
# #224/p valid access family in SK_MSG OK
# #225/p valid access remote_ip4 in SK_MSG OK
# #226/p valid access local_ip4 in SK_MSG OK
# #227/p valid access remote_port in SK_MSG OK
# #228/p valid access local_port in SK_MSG OK
# #229/p valid access remote_ip6 in SK_MSG OK
# #230/p valid access local_ip6 in SK_MSG OK
# #231/p valid access size in SK_MSG OK
# #232/p invalid 64B read of size in SK_MSG OK
# #233/p invalid read past end of SK_MSG OK
# #234/p invalid read offset in SK_MSG OK
# #235/p direct packet read for SK_MSG OK
# #236/p direct packet write for SK_MSG OK
# #237/p overlapping checks for direct packet access SK_MSG OK
# #238/u access skb fields ok OK
# #238/p access skb fields ok OK
# #239/u access skb fields bad1 OK
# #239/p access skb fields bad1 OK
# #240/u access skb fields bad2 OK
# #240/p access skb fields bad2 OK
# #241/u access skb fields bad3 OK
# #241/p access skb fields bad3 OK
# #242/u access skb fields bad4 OK
# #242/p access skb fields bad4 OK
# #243/u invalid access __sk_buff family OK
# #243/p invalid access __sk_buff family OK
# #244/u invalid access __sk_buff remote_ip4 OK
# #244/p invalid access __sk_buff remote_ip4 OK
# #245/u invalid access __sk_buff local_ip4 OK
# #245/p invalid access __sk_buff local_ip4 OK
# #246/u invalid access __sk_buff remote_ip6 OK
# #246/p invalid access __sk_buff remote_ip6 OK
# #247/u invalid access __sk_buff local_ip6 OK
# #247/p invalid access __sk_buff local_ip6 OK
# #248/u invalid access __sk_buff remote_port OK
# #248/p invalid access __sk_buff remote_port OK
# #249/u invalid access __sk_buff remote_port OK
# #249/p invalid access __sk_buff remote_port OK
# #250/p valid access __sk_buff family OK
# #251/p valid access __sk_buff remote_ip4 OK
# #252/p valid access __sk_buff local_ip4 OK
# #253/p valid access __sk_buff remote_ip6 OK
# #254/p valid access __sk_buff local_ip6 OK
# #255/p valid access __sk_buff remote_port OK
# #256/p valid access __sk_buff remote_port OK
# #257/p invalid access of tc_classid for SK_SKB OK
# #258/p invalid access of skb->mark for SK_SKB OK
# #259/p check skb->mark is not writeable by SK_SKB OK
# #260/p check skb->tc_index is writeable by SK_SKB OK
# #261/p check skb->priority is writeable by SK_SKB OK
# #262/p direct packet read for SK_SKB OK
# #263/p direct packet write for SK_SKB OK
# #264/p overlapping checks for direct packet access SK_SKB OK
# #265/u check skb->mark is not writeable by sockets OK
# #265/p check skb->mark is not writeable by sockets OK
# #266/u check skb->tc_index is not writeable by sockets OK
# #266/p check skb->tc_index is not writeable by sockets OK
# #267/u check cb access: byte OK
# #267/p check cb access: byte OK
# #268/u __sk_buff->hash, offset 0, byte store not permitted OK
# #268/p __sk_buff->hash, offset 0, byte store not permitted OK
# #269/u __sk_buff->tc_index, offset 3, byte store not permitted OK
# #269/p __sk_buff->tc_index, offset 3, byte store not permitted OK
# #270/u check skb->hash byte load permitted OK
# #270/p check skb->hash byte load permitted OK
# #271/u check skb->hash byte load permitted 1 OK
# #271/p check skb->hash byte load permitted 1 OK
# #272/u check skb->hash byte load permitted 2 OK
# #272/p check skb->hash byte load permitted 2 OK
# #273/u check skb->hash byte load permitted 3 OK
# #273/p check skb->hash byte load permitted 3 OK
# #274/p check cb access: byte, wrong type OK
# #275/u check cb access: half OK
# #275/p check cb access: half OK
# #276/u check cb access: half, unaligned OK
# #276/p check cb access: half, unaligned OK
# #277/u check __sk_buff->hash, offset 0, half store not permitted OK
# #277/p check __sk_buff->hash, offset 0, half store not permitted OK
# #278/u check __sk_buff->tc_index, offset 2, half store not permitted OK
# #278/p check __sk_buff->tc_index, offset 2, half store not permitted OK
# #279/u check skb->hash half load permitted OK
# #279/p check skb->hash half load permitted OK
# #280/u check skb->hash half load permitted 2 OK
# #280/p check skb->hash half load permitted 2 OK
# #281/u check skb->hash half load not permitted, unaligned 1 OK
# #281/p check skb->hash half load not permitted, unaligned 1 OK
# #282/u check skb->hash half load not permitted, unaligned 3 OK
# #282/p check skb->hash half load not permitted, unaligned 3 OK
# #283/p check cb access: half, wrong type OK
# #284/u check cb access: word OK
# #284/p check cb access: word OK
# #285/u check cb access: word, unaligned 1 OK
# #285/p check cb access: word, unaligned 1 OK
# #286/u check cb access: word, unaligned 2 OK
# #286/p check cb access: word, unaligned 2 OK
# #287/u check cb access: word, unaligned 3 OK
# #287/p check cb access: word, unaligned 3 OK
# #288/u check cb access: word, unaligned 4 OK
# #288/p check cb access: word, unaligned 4 OK
# #289/u check cb access: double OK
# #289/p check cb access: double OK
# #290/u check cb access: double, unaligned 1 OK
# #290/p check cb access: double, unaligned 1 OK
# #291/u check cb access: double, unaligned 2 OK
# #291/p check cb access: double, unaligned 2 OK
# #292/u check cb access: double, oob 1 OK
# #292/p check cb access: double, oob 1 OK
# #293/u check cb access: double, oob 2 OK
# #293/p check cb access: double, oob 2 OK
# #294/u check __sk_buff->ifindex dw store not permitted OK
# #294/p check __sk_buff->ifindex dw store not permitted OK
# #295/u check __sk_buff->ifindex dw load not permitted OK
# #295/p check __sk_buff->ifindex dw load not permitted OK
# #296/p check cb access: double, wrong type OK
# #297/p check out of range skb->cb access OK
# #298/u write skb fields from socket prog OK
# #298/p write skb fields from socket prog OK
# #299/p write skb fields from tc_cls_act prog OK
# #300/u check skb->data half load not permitted OK
# #300/p check skb->data half load not permitted OK
# #301/u read gso_segs from CGROUP_SKB OK
# #301/p read gso_segs from CGROUP_SKB OK
# #302/u write gso_segs from CGROUP_SKB OK
# #302/p write gso_segs from CGROUP_SKB OK
# #303/p read gso_segs from CLS OK
# #304/u check wire_len is not readable by sockets OK
# #304/p check wire_len is not readable by sockets OK
# #305/p check wire_len is readable by tc classifier OK
# #306/p check wire_len is not writable by tc classifier OK
# #307/u dead code: start OK
# #307/p dead code: start OK
# #308/u dead code: mid 1 OK
# #308/p dead code: mid 1 OK
# #309/u dead code: mid 2 OK
# #309/p dead code: mid 2 OK
# #310/u dead code: end 1 OK
# #310/p dead code: end 1 OK
# #311/u dead code: end 2 OK
# #311/p dead code: end 2 OK
# #312/u dead code: end 3 OK
# #312/p dead code: end 3 OK
# #313/u dead code: tail of main + func OK
# #313/p dead code: tail of main + func OK
# #314/u dead code: tail of main + two functions OK
# #314/p dead code: tail of main + two functions OK
# #315/u dead code: function in the middle and mid of another func OK
# #315/p dead code: function in the middle and mid of another func OK
# #316/u dead code: middle of main before call OK
# #316/p dead code: middle of main before call OK
# #317/u dead code: start of a function OK
# #317/p dead code: start of a function OK
# #318/p pkt_end - pkt_start is allowed OK
# #319/p direct packet access: test1 OK
# #320/p direct packet access: test2 OK
# #321/u direct packet access: test3 OK
# #321/p direct packet access: test3 OK
# #322/p direct packet access: test4 (write) OK
# #323/p direct packet access: test5 (pkt_end >= reg, good access) OK
# #324/p direct packet access: test6 (pkt_end >= reg, bad access) OK
# #325/p direct packet access: test7 (pkt_end >= reg, both accesses) OK
# #326/p direct packet access: test8 (double test, variant 1) OK
# #327/p direct packet access: test9 (double test, variant 2) OK
# #328/p direct packet access: test10 (write invalid) OK
# #329/p direct packet access: test11 (shift, good access) OK
# #330/p direct packet access: test12 (and, good access) OK
# #331/p direct packet access: test13 (branches, good access) OK
# #332/p direct packet access: test14 (pkt_ptr += 0, CONST_IMM, good access) OK
# #333/p direct packet access: test15 (spill with xadd) OK
# #334/p direct packet access: test16 (arith on data_end) OK
# #335/p direct packet access: test17 (pruning, alignment) OK
# #336/p direct packet access: test18 (imm += pkt_ptr, 1) OK
# #337/p direct packet access: test19 (imm += pkt_ptr, 2) OK
# #338/p direct packet access: test20 (x += pkt_ptr, 1) OK
# #339/p direct packet access: test21 (x += pkt_ptr, 2) OK
# #340/p direct packet access: test22 (x += pkt_ptr, 3) OK
# #341/p direct packet access: test23 (x += pkt_ptr, 4) OK
# #342/p direct packet access: test24 (x += pkt_ptr, 5) OK
# #343/p direct packet access: test25 (marking on <, good access) OK
# #344/p direct packet access: test26 (marking on <, bad access) OK
# #345/p direct packet access: test27 (marking on <=, good access) OK
# #346/p direct packet access: test28 (marking on <=, bad access) OK
# #347/p direct packet access: test29 (reg > pkt_end in subprog) OK
# #348/u direct stack access with 32-bit wraparound. test1 OK
# #348/p direct stack access with 32-bit wraparound. test1 OK
# #349/u direct stack access with 32-bit wraparound. test2 OK
# #349/p direct stack access with 32-bit wraparound. test2 OK
# #350/u direct stack access with 32-bit wraparound. test3 OK
# #350/p direct stack access with 32-bit wraparound. test3 OK
# #351/u direct map access, write test 1 OK
# #351/p direct map access, write test 1 OK
# #352/u direct map access, write test 2 OK
# #352/p direct map access, write test 2 OK
# #353/u direct map access, write test 3 OK
# #353/p direct map access, write test 3 OK
# #354/u direct map access, write test 4 OK
# #354/p direct map access, write test 4 OK
# #355/u direct map access, write test 5 OK
# #355/p direct map access, write test 5 OK
# #356/u direct map access, write test 6 OK
# #356/p direct map access, write test 6 OK
# #357/u direct map access, write test 7 OK
# #357/p direct map access, write test 7 OK
# #358/u direct map access, write test 8 OK
# #358/p direct map access, write test 8 OK
# #359/u direct map access, write test 9 OK
# #359/p direct map access, write test 9 OK
# #360/u direct map access, write test 10 OK
# #360/p direct map access, write test 10 OK
# #361/u direct map access, write test 11 OK
# #361/p direct map access, write test 11 OK
# #362/u direct map access, write test 12 OK
# #362/p direct map access, write test 12 OK
# #363/u direct map access, write test 13 OK
# #363/p direct map access, write test 13 OK
# #364/u direct map access, write test 14 OK
# #364/p direct map access, write test 14 OK
# #365/u direct map access, write test 15 OK
# #365/p direct map access, write test 15 OK
# #366/u direct map access, write test 16 OK
# #366/p direct map access, write test 16 OK
# #367/u direct map access, write test 17 OK
# #367/p direct map access, write test 17 OK
# #368/u direct map access, write test 18 OK
# #368/p direct map access, write test 18 OK
# #369/u direct map access, write test 19 OK
# #369/p direct map access, write test 19 OK
# #370/u direct map access, write test 20 OK
# #370/p direct map access, write test 20 OK
# #371/u direct map access, invalid insn test 1 OK
# #371/p direct map access, invalid insn test 1 OK
# #372/u direct map access, invalid insn test 2 OK
# #372/p direct map access, invalid insn test 2 OK
# #373/u direct map access, invalid insn test 3 OK
# #373/p direct map access, invalid insn test 3 OK
# #374/u direct map access, invalid insn test 4 OK
# #374/p direct map access, invalid insn test 4 OK
# #375/u direct map access, invalid insn test 5 OK
# #375/p direct map access, invalid insn test 5 OK
# #376/u direct map access, invalid insn test 6 OK
# #376/p direct map access, invalid insn test 6 OK
# #377/u direct map access, invalid insn test 7 OK
# #377/p direct map access, invalid insn test 7 OK
# #378/u direct map access, invalid insn test 8 OK
# #378/p direct map access, invalid insn test 8 OK
# #379/u direct map access, invalid insn test 9 OK
# #379/p direct map access, invalid insn test 9 OK
# #380/u DIV32 by 0, zero check 1 OK
# #380/p DIV32 by 0, zero check 1 OK
# #381/u DIV32 by 0, zero check 2 OK
# #381/p DIV32 by 0, zero check 2 OK
# #382/u DIV64 by 0, zero check OK
# #382/p DIV64 by 0, zero check OK
# #383/u MOD32 by 0, zero check 1 OK
# #383/p MOD32 by 0, zero check 1 OK
# #384/u MOD32 by 0, zero check 2 OK
# #384/p MOD32 by 0, zero check 2 OK
# #385/u MOD64 by 0, zero check OK
# #385/p MOD64 by 0, zero check OK
# #386/p DIV32 by 0, zero check ok, cls OK
# #387/p DIV32 by 0, zero check 1, cls OK
# #388/p DIV32 by 0, zero check 2, cls OK
# #389/p DIV64 by 0, zero check, cls OK
# #390/p MOD32 by 0, zero check ok, cls OK
# #391/p MOD32 by 0, zero check 1, cls OK
# #392/p MOD32 by 0, zero check 2, cls OK
# #393/p MOD64 by 0, zero check 1, cls OK
# #394/p MOD64 by 0, zero check 2, cls OK
# #395/p DIV32 overflow, check 1 OK
# #396/p DIV32 overflow, check 2 OK
# #397/p DIV64 overflow, check 1 OK
# #398/p DIV64 overflow, check 2 OK
# #399/p MOD32 overflow, check 1 OK
# #400/p MOD32 overflow, check 2 OK
# #401/p MOD64 overflow, check 1 OK
# #402/p MOD64 overflow, check 2 OK
# #403/p helper access to variable memory: stack, bitwise AND + JMP, correct bounds OK
# #404/p helper access to variable memory: stack, bitwise AND, zero included OK
# #405/p helper access to variable memory: stack, bitwise AND + JMP, wrong max OK
# #406/p helper access to variable memory: stack, JMP, correct bounds OK
# #407/p helper access to variable memory: stack, JMP (signed), correct bounds OK
# #408/p helper access to variable memory: stack, JMP, bounds + offset OK
# #409/p helper access to variable memory: stack, JMP, wrong max OK
# #410/p helper access to variable memory: stack, JMP, no max check OK
# #411/p helper access to variable memory: stack, JMP, no min check OK
# #412/p helper access to variable memory: stack, JMP (signed), no min check OK
# #413/p helper access to variable memory: map, JMP, correct bounds OK
# #414/p helper access to variable memory: map, JMP, wrong max OK
# #415/p helper access to variable memory: map adjusted, JMP, correct bounds OK
# #416/p helper access to variable memory: map adjusted, JMP, wrong max OK
# #417/p helper access to variable memory: size = 0 allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) OK
# #418/p helper access to variable memory: size > 0 not allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) OK
# #419/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #420/p helper access to variable memory: size = 0 allowed on != NULL map pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #421/p helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #422/p helper access to variable memory: size possible = 0 allowed on != NULL map pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #423/p helper access to variable memory: size possible = 0 allowed on != NULL packet pointer (ARG_PTR_TO_MEM_OR_NULL) OK
# #424/p helper access to variable memory: size = 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL) OK
# #425/p helper access to variable memory: size > 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL) OK
# #426/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #427/p helper access to variable memory: size = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #428/p helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #429/p helper access to variable memory: size possible = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL) OK
# #430/p helper access to variable memory: 8 bytes leak OK
# #431/p helper access to variable memory: 8 bytes no leak (init memory) OK
# #432/p helper access to packet: test1, valid packet_ptr range OK
# #433/p helper access to packet: test2, unchecked packet_ptr OK
# #434/p helper access to packet: test3, variable add OK
# #435/p helper access to packet: test4, packet_ptr with bad range OK
# #436/p helper access to packet: test5, packet_ptr with too short range OK
# #437/p helper access to packet: test6, cls valid packet_ptr range OK
# #438/p helper access to packet: test7, cls unchecked packet_ptr OK
# #439/p helper access to packet: test8, cls variable add OK
# #440/p helper access to packet: test9, cls packet_ptr with bad range OK
# #441/p helper access to packet: test10, cls packet_ptr with too short range OK
# #442/p helper access to packet: test11, cls unsuitable helper 1 OK
# #443/p helper access to packet: test12, cls unsuitable helper 2 OK
# #444/p helper access to packet: test13, cls helper ok OK
# #445/p helper access to packet: test14, cls helper ok sub OK
# #446/p helper access to packet: test15, cls helper fail sub OK
# #447/p helper access to packet: test16, cls helper fail range 1 OK
# #448/p helper access to packet: test17, cls helper fail range 2 OK
# #449/p helper access to packet: test18, cls helper fail range 3 OK
# #450/p helper access to packet: test19, cls helper range zero OK
# #451/p helper access to packet: test20, pkt end as input OK
# #452/p helper access to packet: test21, wrong reg OK
# #453/p helper access to map: full range OK
# #454/p helper access to map: partial range OK
# #455/p helper access to map: empty range OK
# #456/p helper access to map: out-of-bound range OK
# #457/p helper access to map: negative range OK
# #458/p helper access to adjusted map (via const imm): full range OK
# #459/p helper access to adjusted map (via const imm): partial range OK
# #460/p helper access to adjusted map (via const imm): empty range OK
# #461/p helper access to adjusted map (via const imm): out-of-bound range OK
# #462/p helper access to adjusted map (via const imm): negative range (> adjustment) OK
# #463/p helper access to adjusted map (via const imm): negative range (< adjustment) OK
# #464/p helper access to adjusted map (via const reg): full range OK
# #465/p helper access to adjusted map (via const reg): partial range OK
# #466/p helper access to adjusted map (via const reg): empty range OK
# #467/p helper access to adjusted map (via const reg): out-of-bound range OK
# #468/p helper access to adjusted map (via const reg): negative range (> adjustment) OK
# #469/p helper access to adjusted map (via const reg): negative range (< adjustment) OK
# #470/p helper access to adjusted map (via variable): full range OK
# #471/p helper access to adjusted map (via variable): partial range OK
# #472/p helper access to adjusted map (via variable): empty range OK
# #473/p helper access to adjusted map (via variable): no max check OK
# #474/p helper access to adjusted map (via variable): wrong max check OK
# #475/p helper access to map: bounds check using <, good access OK
# #476/p helper access to map: bounds check using <, bad access OK
# #477/p helper access to map: bounds check using <=, good access OK
# #478/p helper access to map: bounds check using <=, bad access OK
# #479/p helper access to map: bounds check using s<, good access OK
# #480/p helper access to map: bounds check using s<, good access 2 OK
# #481/p helper access to map: bounds check using s<, bad access OK
# #482/p helper access to map: bounds check using s<=, good access OK
# #483/p helper access to map: bounds check using s<=, good access 2 OK
# #484/p helper access to map: bounds check using s<=, bad access OK
# #485/p map lookup helper access to map OK
# #486/p map update helper access to map OK
# #487/p map update helper access to map: wrong size OK
# #488/p map helper access to adjusted map (via const imm) OK
# #489/p map helper access to adjusted map (via const imm): out-of-bound 1 OK
# #490/p map helper access to adjusted map (via const imm): out-of-bound 2 OK
# #491/p map helper access to adjusted map (via const reg) OK
# #492/p map helper access to adjusted map (via const reg): out-of-bound 1 OK
# #493/p map helper access to adjusted map (via const reg): out-of-bound 2 OK
# #494/p map helper access to adjusted map (via variable) OK
# #495/p map helper access to adjusted map (via variable): no max check OK
# #496/p map helper access to adjusted map (via variable): wrong max check OK
# #497/p ARG_PTR_TO_LONG uninitialized OK
# #498/p ARG_PTR_TO_LONG half-uninitialized OK
# #499/p ARG_PTR_TO_LONG misaligned OK
# #500/p ARG_PTR_TO_LONG size < sizeof(long) OK
# #501/p ARG_PTR_TO_LONG initialized OK
# #502/u jit: lsh, rsh, arsh by 1 OK
# #502/p jit: lsh, rsh, arsh by 1 OK
# #503/u jit: mov32 for ldimm64, 1 OK
# #503/p jit: mov32 for ldimm64, 1 OK
# #504/u jit: mov32 for ldimm64, 2 OK
# #504/p jit: mov32 for ldimm64, 2 OK
# #505/u jit: various mul tests OK
# #505/p jit: various mul tests OK
# #506/u jit: jsgt, jslt OK
# #506/p jit: jsgt, jslt OK
# #507/p jset32: BPF_K 3 cases OK
# #508/p jset32: BPF_X 3 cases OK
# #509/u jset32: min/max deduction OK
# #509/p jset32: min/max deduction OK
# #510/p jeq32: BPF_K 2 cases OK
# #511/p jeq32: BPF_X 3 cases OK
# #512/u jeq32: min/max deduction OK
# #512/p jeq32: min/max deduction OK
# #513/p jne32: BPF_K 2 cases OK
# #514/p jne32: BPF_X 3 cases OK
# #515/u jne32: min/max deduction OK
# #515/p jne32: min/max deduction OK
# #516/p jge32: BPF_K 3 cases OK
# #517/p jge32: BPF_X 3 cases OK
# #518/u jge32: min/max deduction OK
# #518/p jge32: min/max deduction OK
# #519/p jgt32: BPF_K 3 cases OK
# #520/p jgt32: BPF_X 3 cases OK
# #521/u jgt32: min/max deduction OK
# #521/p jgt32: min/max deduction OK
# #522/p jle32: BPF_K 3 cases OK
# #523/p jle32: BPF_X 3 cases OK
# #524/u jle32: min/max deduction OK
# #524/p jle32: min/max deduction OK
# #525/p jlt32: BPF_K 3 cases OK
# #526/p jlt32: BPF_X 3 cases OK
# #527/u jlt32: min/max deduction OK
# #527/p jlt32: min/max deduction OK
# #528/p jsge32: BPF_K 3 cases OK
# #529/p jsge32: BPF_X 3 cases OK
# #530/u jsge32: min/max deduction OK
# #530/p jsge32: min/max deduction OK
# #531/p jsgt32: BPF_K 3 cases OK
# #532/p jsgt32: BPF_X 3 cases OK
# #533/u jsgt32: min/max deduction OK
# #533/p jsgt32: min/max deduction OK
# #534/p jsle32: BPF_K 3 cases OK
# #535/p jsle32: BPF_X 3 cases OK
# #536/u jsle32: min/max deduction OK
# #536/p jsle32: min/max deduction OK
# #537/p jslt32: BPF_K 3 cases OK
# #538/p jslt32: BPF_X 3 cases OK
# #539/u jslt32: min/max deduction OK
# #539/p jslt32: min/max deduction OK
# #540/p jset: functional 7 cases OK
# #541/p jset: sign-extend OK
# #542/u jset: known const compare OK
# #542/p jset: known const compare OK
# #543/u jset: known const compare bad OK
# #543/p jset: known const compare bad OK
# #544/u jset: unknown const compare taken OK
# #544/p jset: unknown const compare taken OK
# #545/u jset: unknown const compare not taken OK
# #545/p jset: unknown const compare not taken OK
# #546/u jset: half-known const compare OK
# #546/p jset: half-known const compare OK
# #547/u jset: range OK
# #547/p jset: range OK
# #548/u jump test 1 OK
# #548/p jump test 1 OK
# #549/u jump test 2 OK
# #549/p jump test 2 OK
# #550/u jump test 3 OK
# #550/p jump test 3 OK
# #551/u jump test 4 OK
# #551/p jump test 4 OK
# #552/u jump test 5 OK
# #552/p jump test 5 OK
# #553/u jump test 6 OK
# #553/p jump test 6 OK
# #554/u jump test 7 OK
# #554/p jump test 7 OK
# #555/u jump test 8 OK
# #555/p jump test 8 OK
# #556/p jump/call test 9 OK
# #557/p jump/call test 10 OK
# #558/p jump/call test 11 OK
# #559/u junk insn OK
# #559/p junk insn OK
# #560/u junk insn2 OK
# #560/p junk insn2 OK
# #561/u junk insn3 OK
# #561/p junk insn3 OK
# #562/u junk insn4 OK
# #562/p junk insn4 OK
# #563/u junk insn5 OK
# #563/p junk insn5 OK
# #564/u ld_abs: check calling conv, r1 OK
# #564/p ld_abs: check calling conv, r1 OK
# #565/u ld_abs: check calling conv, r2 OK
# #565/p ld_abs: check calling conv, r2 OK
# #566/u ld_abs: check calling conv, r3 OK
# #566/p ld_abs: check calling conv, r3 OK
# #567/u ld_abs: check calling conv, r4 OK
# #567/p ld_abs: check calling conv, r4 OK
# #568/u ld_abs: check calling conv, r5 OK
# #568/p ld_abs: check calling conv, r5 OK
# #569/u ld_abs: check calling conv, r7 OK
# #569/p ld_abs: check calling conv, r7 OK
# #570/p ld_abs: tests on r6 and skb data reload helper OK
# #571/p ld_abs: invalid op 1 OK
# #572/p ld_abs: invalid op 2 OK
# #573/p ld_abs: nmap reduced OK
# #574/p ld_abs: div + abs, test 1 OK
# #575/p ld_abs: div + abs, test 2 OK
# #576/p ld_abs: div + abs, test 3 OK
# #577/p ld_abs: div + abs, test 4 OK
# #578/p ld_abs: vlan + abs, test 1 OK
# #579/p ld_abs: vlan + abs, test 2 OK
# #580/p ld_abs: jump around ld_abs OK
# #581/p ld_dw: xor semi-random 64 bit imms, test 1 OK
# #582/p ld_dw: xor semi-random 64 bit imms, test 2 OK
# #583/p ld_dw: xor semi-random 64 bit imms, test 3 OK
# #584/p ld_dw: xor semi-random 64 bit imms, test 4 OK
# #585/p ld_dw: xor semi-random 64 bit imms, test 5 OK
# #586/u test1 ld_imm64 OK
# #586/p test1 ld_imm64 OK
# #587/u test2 ld_imm64 OK
# #587/p test2 ld_imm64 OK
# #588/u test3 ld_imm64 OK
# #588/p test3 ld_imm64 OK
# #589/u test4 ld_imm64 OK
# #589/p test4 ld_imm64 OK
# #590/u test5 ld_imm64 OK
# #590/p test5 ld_imm64 OK
# #591/u test6 ld_imm64 OK
# #591/p test6 ld_imm64 OK
# #592/u test7 ld_imm64 OK
# #592/p test7 ld_imm64 OK
# #593/u test8 ld_imm64 OK
# #593/p test8 ld_imm64 OK
# #594/u test9 ld_imm64 OK
# #594/p test9 ld_imm64 OK
# #595/u test10 ld_imm64 OK
# #595/p test10 ld_imm64 OK
# #596/u test11 ld_imm64 OK
# #596/p test11 ld_imm64 OK
# #597/u test12 ld_imm64 OK
# #597/p test12 ld_imm64 OK
# #598/u test13 ld_imm64 OK
# #598/p test13 ld_imm64 OK
# #599/u test14 ld_imm64: reject 2nd imm != 0 OK
# #599/p test14 ld_imm64: reject 2nd imm != 0 OK
# #600/u ld_ind: check calling conv, r1 OK
# #600/p ld_ind: check calling conv, r1 OK
# #601/u ld_ind: check calling conv, r2 OK
# #601/p ld_ind: check calling conv, r2 OK
# #602/u ld_ind: check calling conv, r3 OK
# #602/p ld_ind: check calling conv, r3 OK
# #603/u ld_ind: check calling conv, r4 OK
# #603/p ld_ind: check calling conv, r4 OK
# #604/u ld_ind: check calling conv, r5 OK
# #604/p ld_ind: check calling conv, r5 OK
# #605/u ld_ind: check calling conv, r7 OK
# #605/p ld_ind: check calling conv, r7 OK
# #606/u leak pointer into ctx 1 OK
# #606/p leak pointer into ctx 1 OK
# #607/u leak pointer into ctx 2 OK
# #607/p leak pointer into ctx 2 OK
# #608/u leak pointer into ctx 3 OK
# #608/p leak pointer into ctx 3 OK
# #609/u leak pointer into map val OK
# #609/p leak pointer into map val OK
# #610/p invalid direct packet write for LWT_IN OK
# #611/p invalid direct packet write for LWT_OUT OK
# #612/p direct packet write for LWT_XMIT OK
# #613/p direct packet read for LWT_IN OK
# #614/p direct packet read for LWT_OUT OK
# #615/p direct packet read for LWT_XMIT OK
# #616/p overlapping checks for direct packet access OK
# #617/p make headroom for LWT_XMIT OK
# #618/u invalid access of tc_classid for LWT_IN OK
# #618/p invalid access of tc_classid for LWT_IN OK
# #619/u invalid access of tc_classid for LWT_OUT OK
# #619/p invalid access of tc_classid for LWT_OUT OK
# #620/u invalid access of tc_classid for LWT_XMIT OK
# #620/p invalid access of tc_classid for LWT_XMIT OK
# #621/p check skb->tc_classid half load not permitted for lwt prog OK
# #622/u map in map access OK
# #622/p map in map access OK
# #623/u invalid inner map pointer OK
# #623/p invalid inner map pointer OK
# #624/u forgot null checking on the inner map pointer OK
# #624/p forgot null checking on the inner map pointer OK
# #625/p calls: two calls returning different map pointers for lookup (hash, array) OK
# #626/p calls: two calls returning different map pointers for lookup (hash, map in map) OK
# #627/u cond: two branches returning different map pointers for lookup (tail, tail) OK
# #627/p cond: two branches returning different map pointers for lookup (tail, tail) OK
# #628/u cond: two branches returning same map pointers for lookup (tail, tail) OK
# #628/p cond: two branches returning same map pointers for lookup (tail, tail) OK
# #629/u invalid map_fd for function call OK
# #629/p invalid map_fd for function call OK
# #630/u don't check return value before access OK
# #630/p don't check return value before access OK
# #631/u access memory with incorrect alignment OK
# #631/p access memory with incorrect alignment OK
# #632/u sometimes access memory with incorrect alignment OK
# #632/p sometimes access memory with incorrect alignment OK
# #633/u masking, test out of bounds 1 OK
# #633/p masking, test out of bounds 1 OK
# #634/u masking, test out of bounds 2 OK
# #634/p masking, test out of bounds 2 OK
# #635/u masking, test out of bounds 3 OK
# #635/p masking, test out of bounds 3 OK
# #636/u masking, test out of bounds 4 OK
# #636/p masking, test out of bounds 4 OK
# #637/u masking, test out of bounds 5 OK
# #637/p masking, test out of bounds 5 OK
# #638/u masking, test out of bounds 6 OK
# #638/p masking, test out of bounds 6 OK
# #639/u masking, test out of bounds 7 OK
# #639/p masking, test out of bounds 7 OK
# #640/u masking, test out of bounds 8 OK
# #640/p masking, test out of bounds 8 OK
# #641/u masking, test out of bounds 9 OK
# #641/p masking, test out of bounds 9 OK
# #642/u masking, test out of bounds 10 OK
# #642/p masking, test out of bounds 10 OK
# #643/u masking, test out of bounds 11 OK
# #643/p masking, test out of bounds 11 OK
# #644/u masking, test out of bounds 12 OK
# #644/p masking, test out of bounds 12 OK
# #645/u masking, test in bounds 1 OK
# #645/p masking, test in bounds 1 OK
# #646/u masking, test in bounds 2 OK
# #646/p masking, test in bounds 2 OK
# #647/u masking, test in bounds 3 OK
# #647/p masking, test in bounds 3 OK
# #648/u masking, test in bounds 4 OK
# #648/p masking, test in bounds 4 OK
# #649/u masking, test in bounds 5 OK
# #649/p masking, test in bounds 5 OK
# #650/u masking, test in bounds 6 OK
# #650/p masking, test in bounds 6 OK
# #651/u masking, test in bounds 7 OK
# #651/p masking, test in bounds 7 OK
# #652/u masking, test in bounds 8 OK
# #652/p masking, test in bounds 8 OK
# #653/p meta access, test1 OK
# #654/p meta access, test2 OK
# #655/p meta access, test3 OK
# #656/p meta access, test4 OK
# #657/p meta access, test5 OK
# #658/p meta access, test6 OK
# #659/p meta access, test7 OK
# #660/p meta access, test8 OK
# #661/p meta access, test9 OK
# #662/p meta access, test10 OK
# #663/p meta access, test11 OK
# #664/p meta access, test12 OK
# #665/p check bpf_perf_event_data->sample_period byte load permitted OK
# #666/p check bpf_perf_event_data->sample_period half load permitted OK
# #667/p check bpf_perf_event_data->sample_period word load permitted OK
# #668/p check bpf_perf_event_data->sample_period dword load permitted OK
# #669/p prevent map lookup in sockmap OK
# #670/p prevent map lookup in sockhash OK
# #671/p prevent map lookup in stack trace OK
# #672/u prevent map lookup in prog array OK
# #672/p prevent map lookup in prog array OK
# #673/p raw_stack: no skb_load_bytes OK
# #674/p raw_stack: skb_load_bytes, negative len OK
# #675/p raw_stack: skb_load_bytes, negative len 2 OK
# #676/p raw_stack: skb_load_bytes, zero len OK
# #677/p raw_stack: skb_load_bytes, no init OK
# #678/p raw_stack: skb_load_bytes, init OK
# #679/p raw_stack: skb_load_bytes, spilled regs around bounds OK
# #680/p raw_stack: skb_load_bytes, spilled regs corruption OK
# #681/p raw_stack: skb_load_bytes, spilled regs corruption 2 OK
# #682/p raw_stack: skb_load_bytes, spilled regs + data OK
# #683/p raw_stack: skb_load_bytes, invalid access 1 OK
# #684/p raw_stack: skb_load_bytes, invalid access 2 OK
# #685/p raw_stack: skb_load_bytes, invalid access 3 OK
# #686/p raw_stack: skb_load_bytes, invalid access 4 OK
# #687/p raw_stack: skb_load_bytes, invalid access 5 OK
# #688/p raw_stack: skb_load_bytes, invalid access 6 OK
# #689/p raw_stack: skb_load_bytes, large access OK
# #690/p raw_tracepoint_writable: reject variable offset OK
# #691/p reference tracking: leak potential reference OK
# #692/p reference tracking: leak potential reference to sock_common OK
# #693/p reference tracking: leak potential reference on stack OK
# #694/p reference tracking: leak potential reference on stack 2 OK
# #695/p reference tracking: zero potential reference OK
# #696/p reference tracking: zero potential reference to sock_common OK
# #697/p reference tracking: copy and zero potential references OK
# #698/p reference tracking: release reference without check OK
# #699/p reference tracking: release reference to sock_common without check OK
# #700/p reference tracking: release reference OK
# #701/p reference tracking: release reference to sock_common OK
# #702/p reference tracking: release reference 2 OK
# #703/p reference tracking: release reference twice OK
# #704/p reference tracking: release reference twice inside branch OK
# #705/p reference tracking: alloc, check, free in one subbranch OK
# #706/p reference tracking: alloc, check, free in both subbranches OK
# #707/p reference tracking in call: free reference in subprog OK
# #708/p reference tracking in call: free reference in subprog and outside OK
# #709/p reference tracking in call: alloc & leak reference in subprog OK
# #710/p reference tracking in call: alloc in subprog, release outside OK
# #711/p reference tracking in call: sk_ptr leak into caller stack OK
# #712/p reference tracking in call: sk_ptr spill into caller stack OK
# #713/p reference tracking: allow LD_ABS OK
# #714/p reference tracking: forbid LD_ABS while holding reference OK
# #715/p reference tracking: allow LD_IND OK
# #716/p reference tracking: forbid LD_IND while holding reference OK
# #717/p reference tracking: check reference or tail call OK
# #718/p reference tracking: release reference then tail call OK
# #719/p reference tracking: leak possible reference over tail call OK
# #720/p reference tracking: leak checked reference over tail call OK
# #721/p reference tracking: mangle and release sock_or_null OK
# #722/p reference tracking: mangle and release sock OK
# #723/p reference tracking: access member OK
# #724/p reference tracking: write to member OK
# #725/p reference tracking: invalid 64-bit access of member OK
# #726/p reference tracking: access after release OK
# #727/p reference tracking: direct access for lookup OK
# #728/p reference tracking: use ptr from bpf_tcp_sock() after release OK
# #729/p reference tracking: use ptr from bpf_sk_fullsock() after release OK
# #730/p reference tracking: use ptr from bpf_sk_fullsock(tp) after release OK
# #731/p reference tracking: use sk after bpf_sk_release(tp) OK
# #732/p reference tracking: use ptr from bpf_get_listener_sock() after bpf_sk_release(sk) OK
# #733/p reference tracking: bpf_sk_release(listen_sk) OK
# #734/p reference tracking: tp->snd_cwnd after bpf_sk_fullsock(sk) and bpf_tcp_sock(sk) OK
# #735/u runtime/jit: tail_call within bounds, prog once OK
# #735/p runtime/jit: tail_call within bounds, prog once OK
# #736/u runtime/jit: tail_call within bounds, prog loop OK
# #736/p runtime/jit: tail_call within bounds, prog loop OK
# #737/u runtime/jit: tail_call within bounds, no prog OK
# #737/p runtime/jit: tail_call within bounds, no prog OK
# #738/u runtime/jit: tail_call out of bounds OK
# #738/p runtime/jit: tail_call out of bounds OK
# #739/u runtime/jit: pass negative index to tail_call OK
# #739/p runtime/jit: pass negative index to tail_call OK
# #740/u runtime/jit: pass > 32bit index to tail_call OK
# #740/p runtime/jit: pass > 32bit index to tail_call OK
# #741/p scale: scale test 1 FAIL
# Failed to load prog 'Success'!
# BPF program is too large. Processed 1000001 insn
# verification time 553348 usec
# stack depth 512
# processed 1000001 insns (limit 1000000) max_states_per_insn 0 total_states 4876 peak_states 4876 mark_read 1
# #742/p scale: scale test 2 FAIL
# Failed to load prog 'Success'!
# BPF program is too large. Processed 1000001 insn
# verification time 665424 usec
# stack depth 0+0+0+0+0+0+0+288
# processed 1000001 insns (limit 1000000) max_states_per_insn 1 total_states 4878 peak_states 4878 mark_read 1
# #743/u pointer/scalar confusion in state equality check (way 1) OK
# #743/p pointer/scalar confusion in state equality check (way 1) OK
# #744/u pointer/scalar confusion in state equality check (way 2) OK
# #744/p pointer/scalar confusion in state equality check (way 2) OK
# #745/p liveness pruning and write screening OK
# #746/u varlen_map_value_access pruning OK
# #746/p varlen_map_value_access pruning OK
# #747/p search pruning: all branches should be verified (nop operation) OK
# #748/p search pruning: all branches should be verified (invalid stack access) OK
# #749/u allocated_stack OK
# #749/p allocated_stack OK
# #750/u skb->sk: no NULL check OK
# #750/p skb->sk: no NULL check OK
# #751/u skb->sk: sk->family [non fullsock field] OK
# #751/p skb->sk: sk->family [non fullsock field] OK
# #752/u skb->sk: sk->type [fullsock field] OK
# #752/p skb->sk: sk->type [fullsock field] OK
# #753/u bpf_sk_fullsock(skb->sk): no !skb->sk check OK
# #753/p bpf_sk_fullsock(skb->sk): no !skb->sk check OK
# #754/u sk_fullsock(skb->sk): no NULL check on ret OK
# #754/p sk_fullsock(skb->sk): no NULL check on ret OK
# #755/u sk_fullsock(skb->sk): sk->type [fullsock field] OK
# #755/p sk_fullsock(skb->sk): sk->type [fullsock field] OK
# #756/u sk_fullsock(skb->sk): sk->family [non fullsock field] OK
# #756/p sk_fullsock(skb->sk): sk->family [non fullsock field] OK
# #757/u sk_fullsock(skb->sk): sk->state [narrow load] OK
# #757/p sk_fullsock(skb->sk): sk->state [narrow load] OK
# #758/u sk_fullsock(skb->sk): sk->dst_port [narrow load] OK
# #758/p sk_fullsock(skb->sk): sk->dst_port [narrow load] OK
# #759/u sk_fullsock(skb->sk): sk->dst_port [load 2nd byte] OK
# #759/p sk_fullsock(skb->sk): sk->dst_port [load 2nd byte] OK
# #760/u sk_fullsock(skb->sk): sk->dst_ip6 [load 2nd byte] OK
# #760/p sk_fullsock(skb->sk): sk->dst_ip6 [load 2nd byte] OK
# #761/u sk_fullsock(skb->sk): sk->type [narrow load] OK
# #761/p sk_fullsock(skb->sk): sk->type [narrow load] OK
# #762/u sk_fullsock(skb->sk): sk->protocol [narrow load] OK
# #762/p sk_fullsock(skb->sk): sk->protocol [narrow load] OK
# #763/u sk_fullsock(skb->sk): beyond last field OK
# #763/p sk_fullsock(skb->sk): beyond last field OK
# #764/u bpf_tcp_sock(skb->sk): no !skb->sk check OK
# #764/p bpf_tcp_sock(skb->sk): no !skb->sk check OK
# #765/u bpf_tcp_sock(skb->sk): no NULL check on ret OK
# #765/p bpf_tcp_sock(skb->sk): no NULL check on ret OK
# #766/u bpf_tcp_sock(skb->sk): tp->snd_cwnd OK
# #766/p bpf_tcp_sock(skb->sk): tp->snd_cwnd OK
# #767/u bpf_tcp_sock(skb->sk): tp->bytes_acked OK
# #767/p bpf_tcp_sock(skb->sk): tp->bytes_acked OK
# #768/u bpf_tcp_sock(skb->sk): beyond last field OK
# #768/p bpf_tcp_sock(skb->sk): beyond last field OK
# #769/u bpf_tcp_sock(bpf_sk_fullsock(skb->sk)): tp->snd_cwnd OK
# #769/p bpf_tcp_sock(bpf_sk_fullsock(skb->sk)): tp->snd_cwnd OK
# #770/p bpf_sk_release(skb->sk) OK
# #771/p bpf_sk_release(bpf_sk_fullsock(skb->sk)) OK
# #772/p bpf_sk_release(bpf_tcp_sock(skb->sk)) OK
# #773/p sk_storage_get(map, skb->sk, NULL, 0): value == NULL OK
# #774/p sk_storage_get(map, skb->sk, 1, 1): value == 1 OK
# #775/p sk_storage_get(map, skb->sk, &stack_value, 1): stack_value OK
# #776/p sk_storage_get(map, skb->sk, &stack_value, 1): partially init stack_value OK
# #777/p bpf_map_lookup_elem(smap, &key) OK
# #778/p bpf_map_lookup_elem(xskmap, &key); xs->queue_id SKIP (unsupported map type 17)
# #779/u check valid spill/fill OK
# #779/p check valid spill/fill OK
# #780/u check valid spill/fill, skb mark OK
# #780/p check valid spill/fill, skb mark OK
# #781/u check corrupted spill/fill OK
# #781/p check corrupted spill/fill OK
# #782/u check corrupted spill/fill, LSB OK
# #782/p check corrupted spill/fill, LSB OK
# #783/u check corrupted spill/fill, MSB OK
# #783/p check corrupted spill/fill, MSB OK
# #784/u spin_lock: test1 success OK
# #784/p spin_lock: test1 success OK
# #785/u spin_lock: test2 direct ld/st OK
# #785/p spin_lock: test2 direct ld/st OK
# #786/u spin_lock: test3 direct ld/st OK
# #786/p spin_lock: test3 direct ld/st OK
# #787/u spin_lock: test4 direct ld/st OK
# #787/p spin_lock: test4 direct ld/st OK
# #788/u spin_lock: test5 call within a locked region OK
# #788/p spin_lock: test5 call within a locked region OK
# #789/u spin_lock: test6 missing unlock OK
# #789/p spin_lock: test6 missing unlock OK
# #790/u spin_lock: test7 unlock without lock OK
# #790/p spin_lock: test7 unlock without lock OK
# #791/u spin_lock: test8 double lock OK
# #791/p spin_lock: test8 double lock OK
# #792/u spin_lock: test9 different lock OK
# #792/p spin_lock: test9 different lock OK
# #793/u spin_lock: test10 lock in subprog without unlock OK
# #793/p spin_lock: test10 lock in subprog without unlock OK
# #794/p spin_lock: test11 ld_abs under lock OK
# #795/u PTR_TO_STACK store/load OK
# #795/p PTR_TO_STACK store/load OK
# #796/u PTR_TO_STACK store/load - bad alignment on off OK
# #796/p PTR_TO_STACK store/load - bad alignment on off OK
# #797/u PTR_TO_STACK store/load - bad alignment on reg OK
# #797/p PTR_TO_STACK store/load - bad alignment on reg OK
# #798/u PTR_TO_STACK store/load - out of bounds low OK
# #798/p PTR_TO_STACK store/load - out of bounds low OK
# #799/u PTR_TO_STACK store/load - out of bounds high OK
# #799/p PTR_TO_STACK store/load - out of bounds high OK
# #800/u PTR_TO_STACK check high 1 OK
# #800/p PTR_TO_STACK check high 1 OK
# #801/u PTR_TO_STACK check high 2 OK
# #801/p PTR_TO_STACK check high 2 OK
# #802/u PTR_TO_STACK check high 3 OK
# #802/p PTR_TO_STACK check high 3 OK
# #803/u PTR_TO_STACK check high 4 OK
# #803/p PTR_TO_STACK check high 4 OK
# #804/u PTR_TO_STACK check high 5 OK
# #804/p PTR_TO_STACK check high 5 OK
# #805/u PTR_TO_STACK check high 6 OK
# #805/p PTR_TO_STACK check high 6 OK
# #806/u PTR_TO_STACK check high 7 OK
# #806/p PTR_TO_STACK check high 7 OK
# #807/u PTR_TO_STACK check low 1 OK
# #807/p PTR_TO_STACK check low 1 OK
# #808/u PTR_TO_STACK check low 2 OK
# #808/p PTR_TO_STACK check low 2 OK
# #809/u PTR_TO_STACK check low 3 OK
# #809/p PTR_TO_STACK check low 3 OK
# #810/u PTR_TO_STACK check low 4 OK
# #810/p PTR_TO_STACK check low 4 OK
# #811/u PTR_TO_STACK check low 5 OK
# #811/p PTR_TO_STACK check low 5 OK
# #812/u PTR_TO_STACK check low 6 OK
# #812/p PTR_TO_STACK check low 6 OK
# #813/u PTR_TO_STACK check low 7 OK
# #813/p PTR_TO_STACK check low 7 OK
# #814/u PTR_TO_STACK mixed reg/k, 1 OK
# #814/p PTR_TO_STACK mixed reg/k, 1 OK
# #815/u PTR_TO_STACK mixed reg/k, 2 OK
# #815/p PTR_TO_STACK mixed reg/k, 2 OK
# #816/u PTR_TO_STACK mixed reg/k, 3 OK
# #816/p PTR_TO_STACK mixed reg/k, 3 OK
# #817/u PTR_TO_STACK reg OK
# #817/p PTR_TO_STACK reg OK
# #818/u stack pointer arithmetic OK
# #818/p stack pointer arithmetic OK
# #819/u read uninitialized register OK
# #819/p read uninitialized register OK
# #820/u read invalid register OK
# #820/p read invalid register OK
# #821/u program doesn't init R0 before exit OK
# #821/p program doesn't init R0 before exit OK
# #822/u program doesn't init R0 before exit in all branches OK
# #822/p program doesn't init R0 before exit in all branches OK
# #823/u unpriv: return pointer OK
# #823/p unpriv: return pointer OK
# #824/u unpriv: add const to pointer OK
# #824/p unpriv: add const to pointer OK
# #825/u unpriv: add pointer to pointer OK
# #825/p unpriv: add pointer to pointer OK
# #826/u unpriv: neg pointer OK
# #826/p unpriv: neg pointer OK
# #827/u unpriv: cmp pointer with const OK
# #827/p unpriv: cmp pointer with const OK
# #828/u unpriv: cmp pointer with pointer OK
# #828/p unpriv: cmp pointer with pointer OK
# #829/p unpriv: check that printk is disallowed OK
# #830/u unpriv: pass pointer to helper function OK
# #830/p unpriv: pass pointer to helper function OK
# #831/u unpriv: indirectly pass pointer on stack to helper function OK
# #831/p unpriv: indirectly pass pointer on stack to helper function OK
# #832/u unpriv: mangle pointer on stack 1 OK
# #832/p unpriv: mangle pointer on stack 1 OK
# #833/u unpriv: mangle pointer on stack 2 OK
# #833/p unpriv: mangle pointer on stack 2 OK
# #834/u unpriv: read pointer from stack in small chunks OK
# #834/p unpriv: read pointer from stack in small chunks OK
# #835/u unpriv: write pointer into ctx OK
# #835/p unpriv: write pointer into ctx OK
# #836/u unpriv: spill/fill of ctx OK
# #836/p unpriv: spill/fill of ctx OK
# #837/p unpriv: spill/fill of ctx 2 OK
# #838/p unpriv: spill/fill of ctx 3 OK
# #839/p unpriv: spill/fill of ctx 4 OK
# #840/p unpriv: spill/fill of different pointers stx OK
# #841/p unpriv: spill/fill of different pointers stx - ctx and sock OK
# #842/p unpriv: spill/fill of different pointers stx - leak sock OK
# #843/p unpriv: spill/fill of different pointers stx - sock and ctx (read) OK
# #844/p unpriv: spill/fill of different pointers stx - sock and ctx (write) OK
# #845/p unpriv: spill/fill of different pointers ldx OK
# #846/u unpriv: write pointer into map elem value OK
# #846/p unpriv: write pointer into map elem value OK
# #847/u alu32: mov u32 const OK
# #847/p alu32: mov u32 const OK
# #848/u unpriv: partial copy of pointer OK
# #848/p unpriv: partial copy of pointer OK
# #849/u unpriv: pass pointer to tail_call OK
# #849/p unpriv: pass pointer to tail_call OK
# #850/u unpriv: cmp map pointer with zero OK
# #850/p unpriv: cmp map pointer with zero OK
# #851/u unpriv: write into frame pointer OK
# #851/p unpriv: write into frame pointer OK
# #852/u unpriv: spill/fill frame pointer OK
# #852/p unpriv: spill/fill frame pointer OK
# #853/u unpriv: cmp of frame pointer OK
# #853/p unpriv: cmp of frame pointer OK
# #854/u unpriv: adding of fp OK
# #854/p unpriv: adding of fp OK
# #855/u unpriv: cmp of stack pointer OK
# #855/p unpriv: cmp of stack pointer OK
# #856/u map element value store of cleared call register OK
# #856/p map element value store of cleared call register OK
# #857/u map element value with unaligned store OK
# #857/p map element value with unaligned store OK
# #858/u map element value with unaligned load OK
# #858/p map element value with unaligned load OK
# #859/u map element value is preserved across register spilling OK
# #859/p map element value is preserved across register spilling OK
# #860/u map element value is preserved across register spilling OK
# #860/p map element value is preserved across register spilling OK
# #861/u map element value or null is marked on register spilling OK
# #861/p map element value or null is marked on register spilling OK
# #862/u map element value illegal alu op, 1 OK
# #862/p map element value illegal alu op, 1 OK
# #863/u map element value illegal alu op, 2 OK
# #863/p map element value illegal alu op, 2 OK
# #864/u map element value illegal alu op, 3 OK
# #864/p map element value illegal alu op, 3 OK
# #865/u map element value illegal alu op, 4 OK
# #865/p map element value illegal alu op, 4 OK
# #866/u map element value illegal alu op, 5 OK
# #866/p map element value illegal alu op, 5 OK
# #867/p multiple registers share map_lookup_elem result OK
# #868/p alu ops on ptr_to_map_value_or_null, 1 OK
# #869/p alu ops on ptr_to_map_value_or_null, 2 OK
# #870/p alu ops on ptr_to_map_value_or_null, 3 OK
# #871/p invalid memory access with multiple map_lookup_elem calls OK
# #872/p valid indirect map_lookup_elem access with 2nd lookup in branch OK
# #873/u invalid map access from else condition OK
# #873/p invalid map access from else condition OK
# #874/u map access: known scalar += value_ptr from different maps OK
# #874/p map access: known scalar += value_ptr from different maps OK
# #875/u map access: value_ptr -= known scalar from different maps OK
# #875/p map access: value_ptr -= known scalar from different maps OK
# #876/u map access: known scalar += value_ptr from different maps, but same value properties OK
# #876/p map access: known scalar += value_ptr from different maps, but same value properties OK
# #877/u map access: mixing value pointer and scalar, 1 OK
# #877/p map access: mixing value pointer and scalar, 1 OK
# #878/u map access: mixing value pointer and scalar, 2 OK
# #878/p map access: mixing value pointer and scalar, 2 OK
# #879/u sanitation: alu with different scalars 1 OK
# #879/p sanitation: alu with different scalars 1 OK
# #880/u sanitation: alu with different scalars 2 OK
# #880/p sanitation: alu with different scalars 2 OK
# #881/u sanitation: alu with different scalars 3 OK
# #881/p sanitation: alu with different scalars 3 OK
# #882/u map access: value_ptr += known scalar, upper oob arith, test 1 OK
# #882/p map access: value_ptr += known scalar, upper oob arith, test 1 OK
# #883/u map access: value_ptr += known scalar, upper oob arith, test 2 OK
# #883/p map access: value_ptr += known scalar, upper oob arith, test 2 OK
# #884/u map access: value_ptr += known scalar, upper oob arith, test 3 OK
# #884/p map access: value_ptr += known scalar, upper oob arith, test 3 OK
# #885/u map access: value_ptr -= known scalar, lower oob arith, test 1 OK
# #885/p map access: value_ptr -= known scalar, lower oob arith, test 1 OK
# #886/u map access: value_ptr -= known scalar, lower oob arith, test 2 OK
# #886/p map access: value_ptr -= known scalar, lower oob arith, test 2 OK
# #887/u map access: value_ptr -= known scalar, lower oob arith, test 3 OK
# #887/p map access: value_ptr -= known scalar, lower oob arith, test 3 OK
# #888/u map access: known scalar += value_ptr OK
# #888/p map access: known scalar += value_ptr OK
# #889/u map access: value_ptr += known scalar, 1 OK
# #889/p map access: value_ptr += known scalar, 1 OK
# #890/u map access: value_ptr += known scalar, 2 OK
# #890/p map access: value_ptr += known scalar, 2 OK
# #891/u map access: value_ptr += known scalar, 3 OK
# #891/p map access: value_ptr += known scalar, 3 OK
# #892/u map access: value_ptr += known scalar, 4 OK
# #892/p map access: value_ptr += known scalar, 4 OK
# #893/u map access: value_ptr += known scalar, 5 OK
# #893/p map access: value_ptr += known scalar, 5 OK
# #894/u map access: value_ptr += known scalar, 6 OK
# #894/p map access: value_ptr += known scalar, 6 OK
# #895/u map access: unknown scalar += value_ptr, 1 OK
# #895/p map access: unknown scalar += value_ptr, 1 OK
# #896/u map access: unknown scalar += value_ptr, 2 OK
# #896/p map access: unknown scalar += value_ptr, 2 OK
# #897/u map access: unknown scalar += value_ptr, 3 OK
# #897/p map access: unknown scalar += value_ptr, 3 OK
# #898/u map access: unknown scalar += value_ptr, 4 OK
# #898/p map access: unknown scalar += value_ptr, 4 OK
# #899/u map access: value_ptr += unknown scalar, 1 OK
# #899/p map access: value_ptr += unknown scalar, 1 OK
# #900/u map access: value_ptr += unknown scalar, 2 OK
# #900/p map access: value_ptr += unknown scalar, 2 OK
# #901/u map access: value_ptr += unknown scalar, 3 OK
# #901/p map access: value_ptr += unknown scalar, 3 OK
# #902/u map access: value_ptr += value_ptr OK
# #902/p map access: value_ptr += value_ptr OK
# #903/u map access: known scalar -= value_ptr OK
# #903/p map access: known scalar -= value_ptr OK
# #904/u map access: value_ptr -= known scalar OK
# #904/p map access: value_ptr -= known scalar OK
# #905/u map access: value_ptr -= known scalar, 2 OK
# #905/p map access: value_ptr -= known scalar, 2 OK
# #906/u map access: unknown scalar -= value_ptr OK
# #906/p map access: unknown scalar -= value_ptr OK
# #907/u map access: value_ptr -= unknown scalar OK
# #907/p map access: value_ptr -= unknown scalar OK
# #908/u map access: value_ptr -= unknown scalar, 2 OK
# #908/p map access: value_ptr -= unknown scalar, 2 OK
# #909/u map access: value_ptr -= value_ptr OK
# #909/p map access: value_ptr -= value_ptr OK
# #910/p variable-offset ctx access OK
# #911/p variable-offset stack access OK
# #912/p indirect variable-offset stack access, unbounded OK
# #913/p indirect variable-offset stack access, max out of bound OK
# #914/p indirect variable-offset stack access, min out of bound OK
# #915/p indirect variable-offset stack access, max_off+size > max_initialized OK
# #916/p indirect variable-offset stack access, min_off < min_initialized OK
# #917/u indirect variable-offset stack access, priv vs unpriv OK
# #917/p indirect variable-offset stack access, priv vs unpriv OK
# #918/p indirect variable-offset stack access, uninitialized OK
# #919/p indirect variable-offset stack access, ok OK
# #920/p xadd/w check unaligned stack OK
# #921/p xadd/w check unaligned map OK
# #922/p xadd/w check unaligned pkt OK
# #923/p xadd/w check whether src/dst got mangled, 1 OK
# #924/p xadd/w check whether src/dst got mangled, 2 OK
# #925/p XDP, using ifindex from netdev OK
# #926/p XDP pkt read, pkt_end mangling, bad access 1 OK
# #927/p XDP pkt read, pkt_end mangling, bad access 2 OK
# #928/p XDP pkt read, pkt_data' > pkt_end, good access OK
# #929/p XDP pkt read, pkt_data' > pkt_end, bad access 1 OK
# #930/p XDP pkt read, pkt_data' > pkt_end, bad access 2 OK
# #931/p XDP pkt read, pkt_end > pkt_data', good access OK
# #932/p XDP pkt read, pkt_end > pkt_data', bad access 1 OK
# #933/p XDP pkt read, pkt_end > pkt_data', bad access 2 OK
# #934/p XDP pkt read, pkt_data' < pkt_end, good access OK
# #935/p XDP pkt read, pkt_data' < pkt_end, bad access 1 OK
# #936/p XDP pkt read, pkt_data' < pkt_end, bad access 2 OK
# #937/p XDP pkt read, pkt_end < pkt_data', good access OK
# #938/p XDP pkt read, pkt_end < pkt_data', bad access 1 OK
# #939/p XDP pkt read, pkt_end < pkt_data', bad access 2 OK
# #940/p XDP pkt read, pkt_data' >= pkt_end, good access OK
# #941/p XDP pkt read, pkt_data' >= pkt_end, bad access 1 OK
# #942/p XDP pkt read, pkt_data' >= pkt_end, bad access 2 OK
# #943/p XDP pkt read, pkt_end >= pkt_data', good access OK
# #944/p XDP pkt read, pkt_end >= pkt_data', bad access 1 OK
# #945/p XDP pkt read, pkt_end >= pkt_data', bad access 2 OK
# #946/p XDP pkt read, pkt_data' <= pkt_end, good access OK
# #947/p XDP pkt read, pkt_data' <= pkt_end, bad access 1 OK
# #948/p XDP pkt read, pkt_data' <= pkt_end, bad access 2 OK
# #949/p XDP pkt read, pkt_end <= pkt_data', good access OK
# #950/p XDP pkt read, pkt_end <= pkt_data', bad access 1 OK
# #951/p XDP pkt read, pkt_end <= pkt_data', bad access 2 OK
# #952/p XDP pkt read, pkt_meta' > pkt_data, good access OK
# #953/p XDP pkt read, pkt_meta' > pkt_data, bad access 1 OK
# #954/p XDP pkt read, pkt_meta' > pkt_data, bad access 2 OK
# #955/p XDP pkt read, pkt_data > pkt_meta', good access OK
# #956/p XDP pkt read, pkt_data > pkt_meta', bad access 1 OK
# #957/p XDP pkt read, pkt_data > pkt_meta', bad access 2 OK
# #958/p XDP pkt read, pkt_meta' < pkt_data, good access OK
# #959/p XDP pkt read, pkt_meta' < pkt_data, bad access 1 OK
# #960/p XDP pkt read, pkt_meta' < pkt_data, bad access 2 OK
# #961/p XDP pkt read, pkt_data < pkt_meta', good access OK
# #962/p XDP pkt read, pkt_data < pkt_meta', bad access 1 OK
# #963/p XDP pkt read, pkt_data < pkt_meta', bad access 2 OK
# #964/p XDP pkt read, pkt_meta' >= pkt_data, good access OK
# #965/p XDP pkt read, pkt_meta' >= pkt_data, bad access 1 OK
# #966/p XDP pkt read, pkt_meta' >= pkt_data, bad access 2 OK
# #967/p XDP pkt read, pkt_data >= pkt_meta', good access OK
# #968/p XDP pkt read, pkt_data >= pkt_meta', bad access 1 OK
# #969/p XDP pkt read, pkt_data >= pkt_meta', bad access 2 OK
# #970/p XDP pkt read, pkt_meta' <= pkt_data, good access OK
# #971/p XDP pkt read, pkt_meta' <= pkt_data, bad access 1 OK
# #972/p XDP pkt read, pkt_meta' <= pkt_data, bad access 2 OK
# #973/p XDP pkt read, pkt_data <= pkt_meta', good access OK
# #974/p XDP pkt read, pkt_data <= pkt_meta', bad access 1 OK
# #975/p XDP pkt read, pkt_data <= pkt_meta', bad access 2 OK
# Summary: 1429 PASSED, 1 SKIPPED, 9 FAILED
not ok 1 selftests: bpf: test_verifier
If you fix the issue, kindly add following tag
Reported-by: kernel test robot <rong.a.chen(a)intel.com>
To reproduce:
# build kernel
cd linux
cp config-5.2.0-rc2-00603-g9fe4f05 .config
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 olddefconfig
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 modules_prepare
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 SHELL=/bin/bash
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 bzImage
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
Thanks,
Rong Chen
1 year, 6 months