Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a93a4d62 authored by Catalin Marinas's avatar Catalin Marinas
Browse files

arm64: Fix shift warning in arch/arm64/mm/dump.c



When building with 48-bit VAs and 16K page configuration, it's possible
to get the following warning when building the arm64 page table dumping
code:

arch/arm64/mm/dump.c: In function ‘walk_pud’:
arch/arm64/mm/dump.c:274:102: warning: right shift count >= width of type [-Wshift-count-overflow]

This is because pud_offset(pgd, 0) performs a shift to the right by 36
while the value 0 has the type 'int' by default, therefore 32-bit.

This patch modifies all the p*_offset() uses in arch/arm64/mm/dump.c to
use 0UL for the address argument.

Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent bc9f3d77
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -242,7 +242,7 @@ static void note_page(struct pg_state *st, unsigned long addr, unsigned level,

static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start)
{
	pte_t *pte = pte_offset_kernel(pmd, 0);
	pte_t *pte = pte_offset_kernel(pmd, 0UL);
	unsigned long addr;
	unsigned i;

@@ -254,7 +254,7 @@ static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start)

static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
{
	pmd_t *pmd = pmd_offset(pud, 0);
	pmd_t *pmd = pmd_offset(pud, 0UL);
	unsigned long addr;
	unsigned i;

@@ -271,7 +271,7 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)

static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
{
	pud_t *pud = pud_offset(pgd, 0);
	pud_t *pud = pud_offset(pgd, 0UL);
	unsigned long addr;
	unsigned i;