Commit 41f67d40 authored by Pavel Tatashin's avatar Pavel Tatashin Committed by Will Deacon
Browse files

arm64: hibernate: variable pudp is used instead of pd4dp



There should be p4dp used when p4d page is allocated.
This is not a functional issue, but for the logical correctness this
should be fixed.

Fixes: e9f63768 ("arm64: add support for folded p4d page tables")
Signed-off-by: default avatarPavel Tatashin <pasha.tatashin@soleen.com>
Link: https://lore.kernel.org/r/20210125191923.1060122-3-pasha.tatashin@soleen.com


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 117cda9a
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -190,10 +190,10 @@ static int trans_pgd_map_page(pgd_t *trans_pgd, void *page,

	pgdp = pgd_offset_pgd(trans_pgd, dst_addr);
	if (pgd_none(READ_ONCE(*pgdp))) {
		pudp = (void *)get_safe_page(GFP_ATOMIC);
		if (!pudp)
		p4dp = (void *)get_safe_page(GFP_ATOMIC);
		if (!pgdp)
			return -ENOMEM;
		pgd_populate(&init_mm, pgdp, pudp);
		pgd_populate(&init_mm, pgdp, p4dp);
	}

	p4dp = p4d_offset(pgdp, dst_addr);