OSDN Git Service

s390/pgtable: add REGION3_KERNEL_EXEC protection
authorAlexander Gordeev <agordeev@linux.ibm.com>
Fri, 2 Dec 2022 18:07:07 +0000 (19:07 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 13 Jan 2023 13:15:05 +0000 (14:15 +0100)
Similar to existing PAGE_KERNEL_EXEC and SEGMENT_KERNEL_EXEC
memory protection add REGION3_KERNEL_EXEC attribute that
could be set on PUD pgtable entries.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/pgtable.h

index b26cbf1..0170f95 100644 (file)
@@ -477,6 +477,12 @@ static inline int is_module_addr(void *addr)
                                   _REGION3_ENTRY_YOUNG |  \
                                   _REGION_ENTRY_PROTECT | \
                                   _REGION_ENTRY_NOEXEC)
+#define REGION3_KERNEL_EXEC __pgprot(_REGION_ENTRY_TYPE_R3 | \
+                                _REGION3_ENTRY_LARGE |  \
+                                _REGION3_ENTRY_READ |   \
+                                _REGION3_ENTRY_WRITE |  \
+                                _REGION3_ENTRY_YOUNG |  \
+                                _REGION3_ENTRY_DIRTY)
 
 static inline bool mm_p4d_folded(struct mm_struct *mm)
 {