lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 25 May 2020 10:52:40 +0800 From: Bibo Mao <maobibo@...ngson.cn> To: Thomas Bogendoerfer <tsbogend@...ha.franken.de>, Jiaxun Yang <jiaxun.yang@...goat.com>, Huacai Chen <chenhc@...ote.com>, Andrew Morton <akpm@...ux-foundation.org>, Paul Burton <paulburton@...nel.org>, Dmitry Korotin <dkorotin@...ecomp.com>, Philippe Mathieu-Daudé <f4bug@...at.org>, Stafford Horne <shorne@...il.com>, Steven Price <steven.price@....com>, Anshuman Khandual <anshuman.khandual@....com> Cc: linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org, Mike Rapoport <rppt@...ux.ibm.com>, Sergei Shtylyov <sergei.shtylyov@...entembedded.com>, "Maciej W. Rozycki" <macro@....com>, linux-mm@...ck.org, David Hildenbrand <david@...hat.com> Subject: [PATCH v6 4/4] MIPS: mm: add page valid judgement in function pte_modify 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@...ngson.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 0743087..dfe79f4 100644 --- a/arch/mips/include/asm/pgtable.h +++ b/arch/mips/include/asm/pgtable.h @@ -529,8 +529,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
Powered by blists - more mailing lists