mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-04 05:29:15 +08:00
bpf: Remove attach_type in bpf_cgroup_link
Use attach_type in bpf_link, and remove it in bpf_cgroup_link. Signed-off-by: Tao Chen <chen.dylane@linux.dev> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Jiri Olsa <jolsa@kernel.org> Link: https://lore.kernel.org/bpf/20250710032038.888700-3-chen.dylane@linux.dev
This commit is contained in:
committed by
Andrii Nakryiko
parent
b725441f02
commit
9b8d543dc2
@@ -103,7 +103,6 @@ struct bpf_cgroup_storage {
|
||||
struct bpf_cgroup_link {
|
||||
struct bpf_link link;
|
||||
struct cgroup *cgroup;
|
||||
enum bpf_attach_type type;
|
||||
};
|
||||
|
||||
struct bpf_prog_list {
|
||||
|
||||
@@ -984,7 +984,7 @@ static int __cgroup_bpf_replace(struct cgroup *cgrp,
|
||||
struct hlist_head *progs;
|
||||
bool found = false;
|
||||
|
||||
atype = bpf_cgroup_atype_find(link->type, new_prog->aux->attach_btf_id);
|
||||
atype = bpf_cgroup_atype_find(link->link.attach_type, new_prog->aux->attach_btf_id);
|
||||
if (atype < 0)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -1396,8 +1396,8 @@ static void bpf_cgroup_link_release(struct bpf_link *link)
|
||||
}
|
||||
|
||||
WARN_ON(__cgroup_bpf_detach(cg_link->cgroup, NULL, cg_link,
|
||||
cg_link->type, 0));
|
||||
if (cg_link->type == BPF_LSM_CGROUP)
|
||||
link->attach_type, 0));
|
||||
if (link->attach_type == BPF_LSM_CGROUP)
|
||||
bpf_trampoline_unlink_cgroup_shim(cg_link->link.prog);
|
||||
|
||||
cg = cg_link->cgroup;
|
||||
@@ -1439,7 +1439,7 @@ static void bpf_cgroup_link_show_fdinfo(const struct bpf_link *link,
|
||||
"cgroup_id:\t%llu\n"
|
||||
"attach_type:\t%d\n",
|
||||
cg_id,
|
||||
cg_link->type);
|
||||
link->attach_type);
|
||||
}
|
||||
|
||||
static int bpf_cgroup_link_fill_link_info(const struct bpf_link *link,
|
||||
@@ -1455,7 +1455,7 @@ static int bpf_cgroup_link_fill_link_info(const struct bpf_link *link,
|
||||
cgroup_unlock();
|
||||
|
||||
info->cgroup.cgroup_id = cg_id;
|
||||
info->cgroup.attach_type = cg_link->type;
|
||||
info->cgroup.attach_type = link->attach_type;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1497,7 +1497,6 @@ int cgroup_bpf_link_attach(const union bpf_attr *attr, struct bpf_prog *prog)
|
||||
bpf_link_init(&link->link, BPF_LINK_TYPE_CGROUP, &bpf_cgroup_link_lops,
|
||||
prog, attr->link_create.attach_type);
|
||||
link->cgroup = cgrp;
|
||||
link->type = attr->link_create.attach_type;
|
||||
|
||||
err = bpf_link_prime(&link->link, &link_primer);
|
||||
if (err) {
|
||||
@@ -1506,7 +1505,7 @@ int cgroup_bpf_link_attach(const union bpf_attr *attr, struct bpf_prog *prog)
|
||||
}
|
||||
|
||||
err = cgroup_bpf_attach(cgrp, NULL, NULL, link,
|
||||
link->type, BPF_F_ALLOW_MULTI | attr->link_create.flags,
|
||||
link->link.attach_type, BPF_F_ALLOW_MULTI | attr->link_create.flags,
|
||||
attr->link_create.cgroup.relative_fd,
|
||||
attr->link_create.cgroup.expected_revision);
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user