Skip to content

Commit a93a4d6

Browse files
committed
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: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
1 parent bc9f3d7 commit a93a4d6

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

arch/arm64/mm/dump.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ static void note_page(struct pg_state *st, unsigned long addr, unsigned level,
242242

243243
static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start)
244244
{
245-
pte_t *pte = pte_offset_kernel(pmd, 0);
245+
pte_t *pte = pte_offset_kernel(pmd, 0UL);
246246
unsigned long addr;
247247
unsigned i;
248248

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

255255
static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
256256
{
257-
pmd_t *pmd = pmd_offset(pud, 0);
257+
pmd_t *pmd = pmd_offset(pud, 0UL);
258258
unsigned long addr;
259259
unsigned i;
260260

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

272272
static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
273273
{
274-
pud_t *pud = pud_offset(pgd, 0);
274+
pud_t *pud = pud_offset(pgd, 0UL);
275275
unsigned long addr;
276276
unsigned i;
277277

0 commit comments

Comments
 (0)