From: Marcin Nowakowski <marcin.nowakowski@imgtec.com> To: Ralf Baechle <ralf@linux-mips.org> Cc: <linux-mips@linux-mips.org>, Marcin Nowakowski <marcin.nowakowski@imgtec.com> Subject: [PATCH 1/3] MIPS: mm: fixed mappings: correct initialisation Date: Tue, 11 Apr 2017 09:00:34 +0200 [thread overview] Message-ID: <1491894036-5440-2-git-send-email-marcin.nowakowski@imgtec.com> (raw) In-Reply-To: <1491894036-5440-1-git-send-email-marcin.nowakowski@imgtec.com> fixrange_init operates at PMD-granularity and expects the addresses to be PMD-size aligned, but currently that might not be the case for PKMAP_BASE unless it is defined properly, so ensure a correct alignment is used before passing the address to fixrange_init. fixed mappings: only align the start address that is passed to fixrange_init rather than the value before adding the size, as we may end up with uninitialised upper part of the range. Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com> --- arch/mips/mm/pgtable-32.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/mips/mm/pgtable-32.c b/arch/mips/mm/pgtable-32.c index adc6911..b19a3c5 100644 --- a/arch/mips/mm/pgtable-32.c +++ b/arch/mips/mm/pgtable-32.c @@ -51,15 +51,15 @@ void __init pagetable_init(void) /* * Fixed mappings: */ - vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK; - fixrange_init(vaddr, vaddr + FIXADDR_SIZE, pgd_base); + vaddr = __fix_to_virt(__end_of_fixed_addresses - 1); + fixrange_init(vaddr & PMD_MASK, vaddr + FIXADDR_SIZE, pgd_base); #ifdef CONFIG_HIGHMEM /* * Permanent kmaps: */ vaddr = PKMAP_BASE; - fixrange_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); + fixrange_init(vaddr & PMD_MASK, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); pgd = swapper_pg_dir + __pgd_offset(vaddr); pud = pud_offset(pgd, vaddr); -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Marcin Nowakowski <marcin.nowakowski@imgtec.com> To: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org, Marcin Nowakowski <marcin.nowakowski@imgtec.com> Subject: [PATCH 1/3] MIPS: mm: fixed mappings: correct initialisation Date: Tue, 11 Apr 2017 09:00:34 +0200 [thread overview] Message-ID: <1491894036-5440-2-git-send-email-marcin.nowakowski@imgtec.com> (raw) Message-ID: <20170411070034.wnD5t7s1mz5dHEaekzDy9yBYtMatPgJxeIwO3Qesc54@z> (raw) In-Reply-To: <1491894036-5440-1-git-send-email-marcin.nowakowski@imgtec.com> fixrange_init operates at PMD-granularity and expects the addresses to be PMD-size aligned, but currently that might not be the case for PKMAP_BASE unless it is defined properly, so ensure a correct alignment is used before passing the address to fixrange_init. fixed mappings: only align the start address that is passed to fixrange_init rather than the value before adding the size, as we may end up with uninitialised upper part of the range. Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com> --- arch/mips/mm/pgtable-32.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/mips/mm/pgtable-32.c b/arch/mips/mm/pgtable-32.c index adc6911..b19a3c5 100644 --- a/arch/mips/mm/pgtable-32.c +++ b/arch/mips/mm/pgtable-32.c @@ -51,15 +51,15 @@ void __init pagetable_init(void) /* * Fixed mappings: */ - vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK; - fixrange_init(vaddr, vaddr + FIXADDR_SIZE, pgd_base); + vaddr = __fix_to_virt(__end_of_fixed_addresses - 1); + fixrange_init(vaddr & PMD_MASK, vaddr + FIXADDR_SIZE, pgd_base); #ifdef CONFIG_HIGHMEM /* * Permanent kmaps: */ vaddr = PKMAP_BASE; - fixrange_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); + fixrange_init(vaddr & PMD_MASK, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); pgd = swapper_pg_dir + __pgd_offset(vaddr); pud = pud_offset(pgd, vaddr); -- 2.7.4
next prev parent reply other threads:[~2017-04-11 7:01 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-11 7:00 [PATCH 0/3] mips highmem fixes Marcin Nowakowski 2017-04-11 7:00 ` Marcin Nowakowski 2017-04-11 7:00 ` Marcin Nowakowski [this message] 2017-04-11 7:00 ` [PATCH 1/3] MIPS: mm: fixed mappings: correct initialisation Marcin Nowakowski 2017-04-11 7:00 ` [PATCH 2/3] MIPS: highmem: ensure that we don't use more than one page for PTEs Marcin Nowakowski 2017-04-11 7:00 ` Marcin Nowakowski 2017-04-11 7:00 ` [PATCH 3/3] MIPS: mm: adjust PKMAP location Marcin Nowakowski 2017-04-11 7:00 ` Marcin Nowakowski 2017-04-11 9:49 ` Sergei Shtylyov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1491894036-5440-2-git-send-email-marcin.nowakowski@imgtec.com \ --to=marcin.nowakowski@imgtec.com \ --cc=linux-mips@linux-mips.org \ --cc=ralf@linux-mips.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.