Произошла ошибка в исходном коде, в файле kernel / cpuset.c в строке 1385, использовался 'task', где, как и должно быть, 'tsk', более того, он использовался позже, без присвоения значения.Ему должно быть присвоено значение следующим образом: __task_cred (tsk).
Это оригинальный код:
/* Called by cgroups to determine if a cpuset is usable; cgroup_mutex held */
static int cpuset_can_attach(struct cgroup_subsys *ss, struct cgroup *cont,
struct task_struct *tsk, bool threadgroup)
{
int ret;
struct cpuset *cs = cgroup_cs(cont);
if ((current != task) && (!capable(CAP_SYS_ADMIN))) {
const struct cred *cred = current_cred(), *tcred;
if (cred->euid != tcred->uid && cred->euid != tcred->suid)
return -EPERM;
}
......................
Это модифицированный код:
/* Called by cgroups to determine if a cpuset is usable; cgroup_mutex held */
static int cpuset_can_attach(struct cgroup_subsys *ss, struct cgroup *cont,
struct task_struct *tsk, bool threadgroup)
{
int ret;
struct cpuset *cs = cgroup_cs(cont);
if ((current != tsk) && (!capable(CAP_SYS_ADMIN))) {
const struct cred *cred = current_cred(), *tcred;
tcred = __task_cred(tsk);
if (cred->euid != tcred->uid && cred->euid != tcred->suid)
return -EPERM;
}
Эта ссылка объясняет различные возможные ошибки, которые могут возникнуть при компиляции ядра Android.