arm64: hibernate: rename dst to page in create_safe_exec_page
authorPavel Tatashin <pasha.tatashin@soleen.com>
Wed, 4 Dec 2019 15:59:21 +0000 (10:59 -0500)
committerWill Deacon <will@kernel.org>
Wed, 8 Jan 2020 16:32:55 +0000 (16:32 +0000)
create_safe_exec_page() allocates a safe page and maps it at a
specific location, also this function returns the physical address
of newly allocated page.

The destination VA, and PA are specified in arguments: dst_addr,
phys_dst_addr

However, within the function it uses "dst" which has unsigned long
type, but is actually a pointers in the current virtual space. This
is confusing to read.

Rename dst to more appropriate page (page that is created), and also
change its time to "void *"

Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Reviewed-by: James Morse <james.morse@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/hibernate.c

index 83c41a2..1ca8af6 100644 (file)
@@ -198,18 +198,18 @@ static int create_safe_exec_page(void *src_start, size_t length,
                                 unsigned long dst_addr,
                                 phys_addr_t *phys_dst_addr)
 {
+       void *page = (void *)get_safe_page(GFP_ATOMIC);
        pgd_t *trans_pgd;
        pgd_t *pgdp;
        pud_t *pudp;
        pmd_t *pmdp;
        pte_t *ptep;
-       unsigned long dst = get_safe_page(GFP_ATOMIC);
 
-       if (!dst)
+       if (!page)
                return -ENOMEM;
 
-       memcpy((void *)dst, src_start, length);
-       __flush_icache_range(dst, dst + length);
+       memcpy(page, src_start, length);
+       __flush_icache_range((unsigned long)page, (unsigned long)page + length);
 
        trans_pgd = (void *)get_safe_page(GFP_ATOMIC);
        if (!trans_pgd)
@@ -240,7 +240,7 @@ static int create_safe_exec_page(void *src_start, size_t length,
        }
 
        ptep = pte_offset_kernel(pmdp, dst_addr);
-       set_pte(ptep, pfn_pte(virt_to_pfn(dst), PAGE_KERNEL_EXEC));
+       set_pte(ptep, pfn_pte(virt_to_pfn(page), PAGE_KERNEL_EXEC));
 
        /*
         * Load our new page tables. A strict BBM approach requires that we
@@ -259,7 +259,7 @@ static int create_safe_exec_page(void *src_start, size_t length,
        write_sysreg(phys_to_ttbr(virt_to_phys(trans_pgd)), ttbr0_el1);
        isb();
 
-       *phys_dst_addr = virt_to_phys((void *)dst);
+       *phys_dst_addr = virt_to_phys(page);
 
        return 0;
 }