Re: [PATCH] cgroup: Remove duplicates in cgroup v1 tasks file

From: Tejun Heo
Date: Mon Oct 09 2023 - 12:32:48 EST


On Mon, Oct 09, 2023 at 03:58:11PM +0200, Michal Koutný wrote:
> One PID may appear multiple times in a preloaded pidlist.
> (Possibly due to PID recycling but we have reports of the same
> task_struct appearing with different PIDs, thus possibly involving
> transfer of PID via de_thread().)
>
> Because v1 seq_file iterator uses PIDs as position, it leads to
> a message:
> > seq_file: buggy .next function kernfs_seq_next did not update position index
>
> Conservative and quick fix consists of removing duplicates from `tasks`
> file (as opposed to removing pidlists altogether). It doesn't affect
> correctness (it's sufficient to show a PID once), performance impact
> would be hidden by unconditional sorting of the pidlist already in place
> (asymptotically).
>
> Link: https://lore.kernel.org/r/20230823174804.23632-1-mkoutny@xxxxxxxx/
> Suggested-by: Firo Yang <firo.yang@xxxxxxxx>
> Signed-off-by: Michal Koutný <mkoutny@xxxxxxxx>

Applied to cgroup/for-6.6-fixes.

Thanks.

--
tejun