Commit 0047d834 authored by Alexei Starovoitov's avatar Alexei Starovoitov Committed by Daniel Borkmann
Browse files

selftests/bpf: Tweak cgroup kfunc test.



Adjust cgroup kfunc test to dereference RCU protected cgroup pointer
as PTR_TRUSTED and pass into KF_TRUSTED_ARGS kfunc.

Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarDavid Vernet <void@manifault.com>
Link: https://lore.kernel.org/bpf/20230303041446.3630-6-alexei.starovoitov@gmail.com
parent 838bd4ac
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ int BPF_PROG(test_cgrp_acquire_leave_in_map, struct cgroup *cgrp, const char *pa
SEC("tp_btf/cgroup_mkdir")
int BPF_PROG(test_cgrp_xchg_release, struct cgroup *cgrp, const char *path)
{
	struct cgroup *kptr;
	struct cgroup *kptr, *cg;
	struct __cgrps_kfunc_map_value *v;
	long status;

@@ -80,6 +80,16 @@ int BPF_PROG(test_cgrp_xchg_release, struct cgroup *cgrp, const char *path)
		return 0;
	}

	kptr = v->cgrp;
	if (!kptr) {
		err = 4;
		return 0;
	}

	cg = bpf_cgroup_ancestor(kptr, 1);
	if (cg)	/* verifier only check */
		bpf_cgroup_release(cg);

	kptr = bpf_kptr_xchg(&v->cgrp, NULL);
	if (!kptr) {
		err = 3;