On 5/31/17 11:45 AM, Alexei Starovoitov wrote:
On 5/31/17 11:43 AM, David Miller wrote:
From: Alexei Starovoitov <a...@fb.com>
Date: Wed, 31 May 2017 11:39:37 -0700
On 5/31/17 11:15 AM, David Miller wrote:
From: Alexei Starovoitov <a...@fb.com>
Date: Tue, 30 May 2017 13:31:32 -0700
test_bpf.ko doesn't call verifier before selecting interpreter or
JITing,
hence the tests need to manually specify the amount of stack they
consume.
Signed-off-by: Alexei Starovoitov <a...@kernel.org>
Acked-by: Daniel Borkmann <dan...@iogearbox.net>
I do not like this and the previous patch, it seems so error prone.
in what sense 'error prone' ?
In the sense that a human computes these numbers, and nothing checks
if it is correct or not until program perhaps crashes if the value is
wrong.
right. that's how all these tests are.
See bpf_fill_ld_abs_vlan_push_pop() for example.
If that codegen has a bug, it will crash the kernel.
That's why it's done from kernel module to do things
that user space cannot do.
btw, when added a bunch of these '.stack_depth = 40'
I was thinking to randomize these values in [40, 512]
range to stress test interpreter and JITs more,
but then decided not to do that to avoid questions
why these numbers don't match the instructions.
Now I'm thinking we should actually do it for two reasons:
- to stress test stuff
- and to demonstrate more clearly that test_bpf.ko can
really do things that user space cannot and that's the
purpose of this .ko
Thoughts?