Hello.

On Tue, Oct 24, 2023 at 05:07:20PM +0100, Tvrtko Ursulin 
<tvrtko.ursu...@linux.intel.com> wrote:
> +struct drm_cgroup_state {
> +     struct cgroup_subsys_state css;
> +};
> +
> +struct drm_root_cgroup_state {
> +     struct drm_cgroup_state drmcs;
> +};
> +
> +static struct drm_root_cgroup_state root_drmcs;

Special struct type for root state is uncommon.
Have 
struct drm_cgroup_state root_drmcs;
and possible future members can be global state variables.


> +static void drmcs_free(struct cgroup_subsys_state *css)
> +{
> +     struct drm_cgroup_state *drmcs = css_to_drmcs(css);
> +
> +     if (drmcs != &root_drmcs.drmcs)
> +             kfree(drmcs);
> +}

I think it can be relied on root cgroup not being ever free'd by cgroup
core.

Michal

Attachment: signature.asc
Description: PGP signature

Reply via email to