On Thu, Jul 11, 2019 at 2:03 AM Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > On Mon, Jul 8, 2019 at 3:43 PM Krzesimir Nowak <krzesimir@xxxxxxxxxx> wrote: > > > > The bpf_prog_test_run_xattr function gives more options to set up a > > test run of a BPF program than the bpf_prog_test_run function. > > > > We will need this extra flexibility to pass ctx data later. > > > > Signed-off-by: Krzesimir Nowak <krzesimir@xxxxxxxxxx> > > --- > > lgtm, with some nits below > > Acked-by: Andrii Nakryiko <andriin@xxxxxx> > > > tools/testing/selftests/bpf/test_verifier.c | 16 +++++++++++----- > > 1 file changed, 11 insertions(+), 5 deletions(-) > > > > diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c > > index c7541f572932..1640ba9f12c1 100644 > > --- a/tools/testing/selftests/bpf/test_verifier.c > > +++ b/tools/testing/selftests/bpf/test_verifier.c > > @@ -822,14 +822,20 @@ static int do_prog_test_run(int fd_prog, bool unpriv, uint32_t expected_val, > > { > > __u8 tmp[TEST_DATA_LEN << 2]; > > __u32 size_tmp = sizeof(tmp); > > nit: this is now is not needed as a separate local variable, inline? I think I'm using this variable in a followup commit, but I'll look closely. > > > - uint32_t retval; > > int saved_errno; > > int err; > > + struct bpf_prog_test_run_attr attr = { > > + .prog_fd = fd_prog, > > + .repeat = 1, > > + .data_in = data, > > + .data_size_in = size_data, > > + .data_out = tmp, > > + .data_size_out = size_tmp, > > + }; > > > > if (unpriv) > > set_admin(true); > > - err = bpf_prog_test_run(fd_prog, 1, data, size_data, > > - tmp, &size_tmp, &retval, NULL); > > + err = bpf_prog_test_run_xattr(&attr); > > saved_errno = errno; > > if (unpriv) > > set_admin(false); > > @@ -846,9 +852,9 @@ static int do_prog_test_run(int fd_prog, bool unpriv, uint32_t expected_val, > > return err; > > } > > } > > - if (retval != expected_val && > > + if (attr.retval != expected_val && > > expected_val != POINTER_VALUE) { > > this if condition now fits one line, can you please combine? thanks! Sure. > > > - printf("FAIL retval %d != %d ", retval, expected_val); > > + printf("FAIL retval %d != %d ", attr.retval, expected_val); > > return 1; > > } > > > > -- > > 2.20.1 > > -- Kinvolk GmbH | Adalbertstr.6a, 10999 Berlin | tel: +491755589364 Geschäftsführer/Directors: Alban Crequy, Chris Kühl, Iago López Galeiras Registergericht/Court of registration: Amtsgericht Charlottenburg Registernummer/Registration number: HRB 171414 B Ust-ID-Nummer/VAT ID number: DE302207000