Re: [PATCH] cgroup/cpuset: Fix update_prstate() always returning 0 on partition errors

From: Tao Cui

Date: Tue Jun 02 2026 - 00:52:27 EST


Kindly disregard this patch.
The issue is fixed by AI auto-testing without Signed-off-by; the tag will be included in v2.

在 2026/6/2 12:36, Tao Cui 写道:
> From: Tao Cui <cuitao@xxxxxxxxxx>
>
> update_prstate() stores the error code in cs->prs_err and transitions
> the partition to an invalid state, but always returns 0. The caller
> cpuset_partition_write() uses "return retval ?: nbytes", so the write
> syscall always appears to succeed from userspace even when the partition
> became invalid. Return -EINVAL when err is set so userspace can detect
> the failure immediately.
>
> Co-Authored-By: Claude Opus 4.7 <noreply@xxxxxxxxxxxxx>
> ---
> kernel/cgroup/cpuset.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> index 591e3aa487fc..8605b4da610e 100644
> --- a/kernel/cgroup/cpuset.c
> +++ b/kernel/cgroup/cpuset.c
> @@ -2965,7 +2965,7 @@ static int update_prstate(struct cpuset *cs, int new_prs)
> if (force_sd_rebuild)
> rebuild_sched_domains_locked();
> free_tmpmasks(&tmpmask);
> - return 0;
> + return err ? -EINVAL : 0;
> }
>
> static struct cpuset *cpuset_attach_old_cs;