Re: [PATCH cgroup/for-4.4-fixes] cgroup: fix cftype->file_offset handling

From: Johannes Weiner
Date: Thu Nov 05 2015 - 00:56:39 EST


On Thu, Nov 05, 2015 at 12:12:24AM -0500, Tejun Heo wrote:
> 6f60eade2433 ("cgroup: generalize obtaining the handles of and
> notifying cgroup files") introduced cftype->file_offset so that the
> handles for per-css file instances can be recorded. These handles
> then can be used, for example, to generate file modified
> notifications.
>
> Unfortunately, it made the wrong assumption that files are created
> once for a given css and removed on its destruction. Due to the
> dependencies among subsystems, a css may be hidden from userland and
> then later shown again. This is implemented by removing and
> re-creating the affected files, so the associated kernfs_node for a
> given cgroup file may change over time. This incorrect assumption led
> to the corruption of css->files lists.
>
> Reimplement cftype->file_offset handling so that cgroup_file->kn is
> protected by a lock and updated as files are created and destroyed.
> This also makes keeping them on per-cgroup list unnecessary.
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Reported-by: James Sedgwick <jsedgwick@xxxxxx>
> Fixes: 6f60eade2433 ("cgroup: generalize obtaining the handles of and notifying cgroup files")

Kudos to whoever debugged this.

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/