On Tue, Sep 02, 2025 at 09:56:17AM +0530, Ashay Jaiswal wrote: > In cpuset hotplug handling, temporary cpumasks are allocated only when > running under cgroup v2. The current code unconditionally frees these > masks, which can lead to a crash on cgroup v1 case. > > Free the temporary cpumasks only when they were actually allocated. > > Fixes: 4b842da276a8 ("cpuset: Make CPU hotplug work with partition") > Cc: stable@vger.kernel.org > Signed-off-by: Ashay Jaiswal > --- > kernel/cgroup/cpuset.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c > index a78ccd11ce9b43c2e8b0e2c454a8ee845ebdc808..a4f908024f3c0a22628a32f8a5b0ae96c7dccbb9 100644 > --- a/kernel/cgroup/cpuset.c > +++ b/kernel/cgroup/cpuset.c > @@ -4019,7 +4019,8 @@ static void cpuset_handle_hotplug(void) > if (force_sd_rebuild) > rebuild_sched_domains_cpuslocked(); > > - free_tmpmasks(ptmp); > + if (on_dfl && ptmp) > + free_tmpmasks(ptmp); > } Can you do if (ptmp) free_tmpmasks(ptmp); so that v2 check in concentrated in one place only? Thanks, Michal