On Tue, Sep 02, 2025 at 09:56:34AM +0200, "Gustavo A. R. Silva" wrote: > If the increase in size is not a problem, then something like this > works fine (unless there is a problem with moving those two members > at the end of cgroup_root?): Please don't forget to tackle cgroup_root allocators. IIUC, this move towards the end shifts the burden to them. There's only the rcu_head we care about. (You seem to be well versed with flex arrays, I was wondering if something like this could be rearranged to make it work (assuming the union is at the end of its containers): union { struct cgroup *ancestors[]; struct { struct cgroup *_root_ancestor; struct cgroup *_low_ancestors[]; }; }; ) Thanks, Michal