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 <[email protected]>
---
 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);
-       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) {
-               printf("FAIL retval %d != %d ", retval, expected_val);
+               printf("FAIL retval %d != %d ", attr.retval, expected_val);
                return 1;
        }
 
-- 
2.20.1

Reply via email to