Not sure if my email went through, so, re-sending.
On Mon, Jun 8, 2020 at 4:07 PM Roman Gushchin <[email protected]> wrote:
>
> From: Johannes Weiner <[email protected]>
>
[...]
> @@ -3003,13 +3004,16 @@ void __memcg_kmem_uncharge_page(struct page *page,
> int order)
> */
> void mem_cgroup_split_huge_fixup(struct page *head)
> {
> + struct mem_cgroup *memcg = head->mem_cgroup;
> int i;
>
> if (mem_cgroup_disabled())
> return;
>
A memcg NULL check is needed here.
> - for (i = 1; i < HPAGE_PMD_NR; i++)
> - head[i].mem_cgroup = head->mem_cgroup;
> + for (i = 1; i < HPAGE_PMD_NR; i++) {
> + css_get(&memcg->css);
> + head[i].mem_cgroup = memcg;
> + }
> }
> #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
>