selftests/bpf: Adapt cgroup effective query uapi change
authorPu Lehui <pulehui@huawei.com>
Wed, 21 Sep 2022 10:46:04 +0000 (10:46 +0000)
committerMartin KaFai Lau <martin.lau@kernel.org>
Wed, 21 Sep 2022 17:57:13 +0000 (10:57 -0700)
The attach flags is meaningless for effective query and
its value will always be set as 0 during effective query.
Root cg's effective progs is always its attached progs,
so we use non-effective query to get its progs count and
attach flags. And we don't need the remain attach flags
check.

Fixes: b79c9fc9551b ("bpf: implement BPF_PROG_QUERY for BPF_LSM_CGROUP")
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Link: https://lore.kernel.org/r/20220921104604.2340580-4-pulehui@huaweicloud.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/testing/selftests/bpf/prog_tests/cgroup_link.c

index 9e6e6aa..15093a6 100644 (file)
@@ -71,10 +71,9 @@ void serial_test_cgroup_link(void)
 
        ping_and_check(cg_nr, 0);
 
-       /* query the number of effective progs and attach flags in root cg */
+       /* query the number of attached progs and attach flags in root cg */
        err = bpf_prog_query(cgs[0].fd, BPF_CGROUP_INET_EGRESS,
-                            BPF_F_QUERY_EFFECTIVE, &attach_flags, NULL,
-                            &prog_cnt);
+                            0, &attach_flags, NULL, &prog_cnt);
        CHECK_FAIL(err);
        CHECK_FAIL(attach_flags != BPF_F_ALLOW_MULTI);
        if (CHECK(prog_cnt != 1, "effect_cnt", "exp %d, got %d\n", 1, prog_cnt))
@@ -85,17 +84,15 @@ void serial_test_cgroup_link(void)
                             BPF_F_QUERY_EFFECTIVE, NULL, NULL,
                             &prog_cnt);
        CHECK_FAIL(err);
-       CHECK_FAIL(attach_flags != BPF_F_ALLOW_MULTI);
        if (CHECK(prog_cnt != cg_nr, "effect_cnt", "exp %d, got %d\n",
                  cg_nr, prog_cnt))
                goto cleanup;
 
        /* query the effective prog IDs in last cg */
        err = bpf_prog_query(cgs[last_cg].fd, BPF_CGROUP_INET_EGRESS,
-                            BPF_F_QUERY_EFFECTIVE, &attach_flags,
-                            prog_ids, &prog_cnt);
+                            BPF_F_QUERY_EFFECTIVE, NULL, prog_ids,
+                            &prog_cnt);
        CHECK_FAIL(err);
-       CHECK_FAIL(attach_flags != BPF_F_ALLOW_MULTI);
        if (CHECK(prog_cnt != cg_nr, "effect_cnt", "exp %d, got %d\n",
                  cg_nr, prog_cnt))
                goto cleanup;