lkml.org 
[lkml]   [2020]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v7 4/4] MIPS: mm: add page valid judgement in function pte_modify
    Date
    If original PTE has _PAGE_ACCESSED bit set, and new pte has no
    _PAGE_NO_READ bit set, we can add _PAGE_SILENT_READ bit to enable
    page valid bit.

    Signed-off-by: Bibo Mao <maobibo@loongson.cn>
    ---
    arch/mips/include/asm/pgtable.h | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h
    index d9772aff..85b39c9 100644
    --- a/arch/mips/include/asm/pgtable.h
    +++ b/arch/mips/include/asm/pgtable.h
    @@ -532,8 +532,11 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
    #else
    static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
    {
    - return __pte((pte_val(pte) & _PAGE_CHG_MASK) |
    - (pgprot_val(newprot) & ~_PAGE_CHG_MASK));
    + pte_val(pte) &= _PAGE_CHG_MASK;
    + pte_val(pte) |= pgprot_val(newprot) & ~_PAGE_CHG_MASK;
    + if ((pte_val(pte) & _PAGE_ACCESSED) && !(pte_val(pte) & _PAGE_NO_READ))
    + pte_val(pte) |= _PAGE_SILENT_READ;
    + return pte;
    }
    #endif

    --
    1.8.3.1
    \
     
     \ /
      Last update: 2020-05-27 04:26    [W:2.918 / U:0.316 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site