lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0947/1157] MIPS: vdso: Utilize __pa() for gic_pfn
    Date
    From: Florian Fainelli <f.fainelli@gmail.com>

    [ Upstream commit 8baa65126e19af5ee9f3c07e7bb53da41c39e4b1 ]

    The GIC user offset is mapped into every process' virtual address and is
    therefore part of the hot-path of arch_setup_additional_pages(). Utilize
    __pa() such that we are more optimal even when CONFIG_DEBUG_VIRTUAL is
    enabled, and while at it utilize PFN_DOWN() instead of open-coding the
    right shift by PAGE_SHIFT.

    Reported-by: Greg Ungerer <gerg@kernel.org>
    Suggested-by: Serge Semin <fancer.lancer@gmail.com>
    Fixes: dfad83cb7193 ("MIPS: Add support for CONFIG_DEBUG_VIRTUAL")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Greg Ungerer <gerg@kernel.org>
    Tested-by: Greg Ungerer <gerg@kernel.org>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/mips/kernel/vdso.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/mips/kernel/vdso.c b/arch/mips/kernel/vdso.c
    index 3d0cf471f2fe..b2cc2c2dd4bf 100644
    --- a/arch/mips/kernel/vdso.c
    +++ b/arch/mips/kernel/vdso.c
    @@ -159,7 +159,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
    /* Map GIC user page. */
    if (gic_size) {
    gic_base = (unsigned long)mips_gic_base + MIPS_GIC_USER_OFS;
    - gic_pfn = virt_to_phys((void *)gic_base) >> PAGE_SHIFT;
    + gic_pfn = PFN_DOWN(__pa(gic_base));

    ret = io_remap_pfn_range(vma, base, gic_pfn, gic_size,
    pgprot_noncached(vma->vm_page_prot));
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 02:48    [W:3.006 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site