Use attach_type in bpf_link, and remove it in bpf_cgroup_link.

Signed-off-by: Tao Chen <chen.dyl...@linux.dev>
---
 include/linux/bpf-cgroup.h |  1 -
 kernel/bpf/cgroup.c        | 13 ++++++-------
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
index 70c8b94e797..082ccd8ad96 100644
--- a/include/linux/bpf-cgroup.h
+++ b/include/linux/bpf-cgroup.h
@@ -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 {
diff --git a/kernel/bpf/cgroup.c b/kernel/bpf/cgroup.c
index bacdd0ca741..72c8b50dca0 100644
--- a/kernel/bpf/cgroup.c
+++ b/kernel/bpf/cgroup.c
@@ -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) {
-- 
2.48.1


Reply via email to