Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200416155917.28536-3-levonshe@gmail.com>
Date: Thu, 16 Apr 2020 18:59:17 +0300
From: Lev Olshvang <levonshe@...il.com>
To: keescook@...omium.org
Cc: kernel-hardening@...ts.openwall.com,
	Lev Olshvang <levonshe@...il.com>
Subject: [PATCH v4 2/2] Hardening x86: Forbid writes to read-only memory pages of a process

Signed-off-by: Lev Olshvang <levonshe@...il.com>
---
 arch/x86/include/asm/mmu_context.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h
index 4e55370e48e8..e9b820780424 100644
--- a/arch/x86/include/asm/mmu_context.h
+++ b/arch/x86/include/asm/mmu_context.h
@@ -216,6 +216,11 @@ static inline void arch_unmap(struct mm_struct *mm, unsigned long start,
 static inline bool arch_vma_access_permitted(struct vm_area_struct *vma,
 		bool write, bool execute, bool foreign)
 {
+	if (unlikely(!vma_write_allowed(vma, write, foreign))) {
+		pr_err_once("Error : PID[%d] %s writes to read only memory\n",
+			    current->pid, current->comm);
+		return false;
+	}
 	/* pkeys never affect instruction fetches */
 	if (execute)
 		return true;
-- 
2.17.1

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.