Commit 03b10f11 authored by Chen Ridong's avatar Chen Ridong
Browse files

Revert "cgroup: Fix AA deadlock caused by cgroup_bpf_release"

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB5KQK


CVE: CVE-2024-53054

--------------------------------

To keep the same with mainline.
This reverts commit af4dfe95.

Fixes: af4dfe95 ("[Huawei] cgroup: Fix AA deadlock caused by cgroup_bpf_release")
Signed-off-by: default avatarChen Ridong <chenridong@huawei.com>
parent b71af6f0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ static void cgroup_bpf_release_fn(struct percpu_ref *ref)
	struct cgroup *cgrp = container_of(ref, struct cgroup, bpf.refcnt);

	INIT_WORK(&cgrp->bpf.release_work, cgroup_bpf_release);
	queue_work(cgroup_destroy_wq, &cgrp->bpf.release_work);
	queue_work(system_wq, &cgrp->bpf.release_work);
}

/* Get underlying bpf_prog of bpf_prog_list entry, regardless if it's through
+0 −1
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@ extern spinlock_t trace_cgroup_path_lock;
extern char trace_cgroup_path[TRACE_CGROUP_PATH_LEN];
extern bool cgroup_debug;
extern void __init enable_debug_cgroup(void);
extern struct workqueue_struct *cgroup_destroy_wq;

/*
 * cgroup_path() takes a spin lock. It is good practice not to take
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ DEFINE_PERCPU_RWSEM(cgroup_threadgroup_rwsem);
 * destruction work items don't end up filling up max_active of system_wq
 * which may lead to deadlock.
 */
struct workqueue_struct *cgroup_destroy_wq;
static struct workqueue_struct *cgroup_destroy_wq;

/* generate an array of cgroup subsystem pointers */
#define SUBSYS(_x) [_x ## _cgrp_id] = &_x ## _cgrp_subsys,