diff --git a/linux-5.10/rk3568_patch/kernel.patch b/linux-5.10/rk3568_patch/kernel.patch index 154af37425735217ffafea88c8f7a5dccb05d5c3..77f663c365a72e700ae36f2c1a22b63c8aeddd7d 100644 --- a/linux-5.10/rk3568_patch/kernel.patch +++ b/linux-5.10/rk3568_patch/kernel.patch @@ -1617756,34 +1617756,11 @@ index 4215c2ff6..0c26757ea 100644 } static int bpf_map_direct_read(struct bpf_map *map, int off, int size, u64 *val) -diff --git a/kernel/cgroup/cgroup-internal.h b/kernel/cgroup/cgroup-internal.h -index bfbeabc17..02f32b13d 100644 ---- a/kernel/cgroup/cgroup-internal.h -+++ b/kernel/cgroup/cgroup-internal.h -@@ -232,7 +232,8 @@ int cgroup_migrate(struct task_struct *leader, bool threadgroup, - int cgroup_attach_task(struct cgroup *dst_cgrp, struct task_struct *leader, - bool threadgroup); - struct task_struct *cgroup_procs_write_start(char *buf, bool threadgroup, -- bool *locked) -+ bool *locked, -+ struct cgroup *dst_cgrp); - __acquires(&cgroup_threadgroup_rwsem); - void cgroup_procs_write_finish(struct task_struct *task, bool locked) - __releases(&cgroup_threadgroup_rwsem); diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c -index 88b72815a..8c519220d 100644 +index 1805c682ccc3..622f344d03fc 100644 --- a/kernel/cgroup/cgroup-v1.c +++ b/kernel/cgroup/cgroup-v1.c -@@ -497,7 +497,7 @@ static ssize_t __cgroup1_procs_write(struct kernfs_open_file *of, - if (!cgrp) - return -ENODEV; - -- task = cgroup_procs_write_start(buf, threadgroup, &locked); -+ task = cgroup_procs_write_start(buf, threadgroup, &locked, cgrp); - ret = PTR_ERR_OR_ZERO(task); - if (ret) - goto out_unlock; -@@ -510,7 +510,8 @@ static ssize_t __cgroup1_procs_write(struct kernfs_open_file *of, +@@ -513,7 +513,8 @@ static ssize_t __cgroup1_procs_write(struct kernfs_open_file *of, tcred = get_task_cred(task); if (!uid_eq(cred->euid, GLOBAL_ROOT_UID) && !uid_eq(cred->euid, tcred->uid) && @@ -1617793,69 +1617770,8 @@ index 88b72815a..8c519220d 100644 ret = -EACCES; put_cred(tcred); if (ret) -diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c -index 350297ad6..202895286 100644 ---- a/kernel/cgroup/cgroup.c -+++ b/kernel/cgroup/cgroup.c -@@ -2345,6 +2345,7 @@ struct task_struct *cgroup_taskset_first(struct cgroup_taskset *tset, - - return cgroup_taskset_next(tset, dst_cssp); - } -+EXPORT_SYMBOL_GPL(cgroup_taskset_first); - - /** - * cgroup_taskset_next - iterate to the next task in taskset -@@ -2391,6 +2392,7 @@ struct task_struct *cgroup_taskset_next(struct cgroup_taskset *tset, - - return NULL; - } -+EXPORT_SYMBOL_GPL(cgroup_taskset_next); - - /** - * cgroup_taskset_migrate - migrate a taskset -@@ -2765,11 +2767,13 @@ int cgroup_attach_task(struct cgroup *dst_cgrp, struct task_struct *leader, - } - - struct task_struct *cgroup_procs_write_start(char *buf, bool threadgroup, -- bool *locked) -+ bool *locked, -+ struct cgroup *dst_cgrp) - __acquires(&cgroup_threadgroup_rwsem) - { - struct task_struct *tsk; - pid_t pid; -+ bool force_migration = false; - - if (kstrtoint(strstrip(buf), 0, &pid) || pid < 0) - return ERR_PTR(-EINVAL); -@@ -4186,6 +4190,7 @@ struct cgroup_subsys_state *css_next_child(struct cgroup_subsys_state *pos, - return next; - return NULL; - } -+EXPORT_SYMBOL_GPL(css_next_child); - - /** - * css_next_descendant_pre - find the next descendant for pre-order walk -@@ -4761,7 +4766,7 @@ static ssize_t cgroup_procs_write(struct kernfs_open_file *of, - if (!dst_cgrp) - return -ENODEV; - -- task = cgroup_procs_write_start(buf, true, &locked); -+ task = cgroup_procs_write_start(buf, true, &locked, dst_cgrp); - ret = PTR_ERR_OR_ZERO(task); - if (ret) - goto out_unlock; -@@ -4805,7 +4810,7 @@ static ssize_t cgroup_threads_write(struct kernfs_open_file *of, - if (!dst_cgrp) - return -ENODEV; - -- task = cgroup_procs_write_start(buf, false, &locked); -+ task = cgroup_procs_write_start(buf, false, &locked, dst_cgrp); - ret = PTR_ERR_OR_ZERO(task); - if (ret) - goto out_unlock; diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c -index c33d70215..19adc148f 100644 +index c33d70215079..19adc148f755 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -334,26 +334,15 @@ static struct cpuset top_cpuset = {