summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2024-04-12 17:12:57 +0200
committerIngo Molnar <mingo@kernel.org>2024-04-14 22:16:28 +0200
commit02eac06b820c3eae73e5736ae62f986d37fed991 (patch)
treea7e5913ca36ae2604079a3a11068fc8c8d96c453 /arch
parentd29dc5177b7d011377ecf648551027c94d2b1386 (diff)
downloadlinux-stable-02eac06b820c3eae73e5736ae62f986d37fed991.tar.gz
linux-stable-02eac06b820c3eae73e5736ae62f986d37fed991.tar.bz2
linux-stable-02eac06b820c3eae73e5736ae62f986d37fed991.zip
x86/pat: Restructure _lookup_address_cpa()
Modify _lookup_address_cpa() to no longer use lookup_address(), but only lookup_address_in_pgd(). This is done in preparation of using lookup_address_in_pgd_attr(). No functional change intended. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20240412151258.9171-4-jgross@suse.com
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/mm/pat/set_memory.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index bfa0aae45d48..4ebccaf29bf2 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -744,11 +744,14 @@ EXPORT_SYMBOL_GPL(lookup_address);
static pte_t *_lookup_address_cpa(struct cpa_data *cpa, unsigned long address,
unsigned int *level)
{
- if (cpa->pgd)
- return lookup_address_in_pgd(cpa->pgd + pgd_index(address),
- address, level);
+ pgd_t *pgd;
+
+ if (!cpa->pgd)
+ pgd = pgd_offset_k(address);
+ else
+ pgd = cpa->pgd + pgd_index(address);
- return lookup_address(address, level);
+ return lookup_address_in_pgd(pgd, address, level);
}
/*