Skip to content

Commit c62da0c

Browse files
Anshuman Khandualtorvalds
authored andcommitted
mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS
There are many platforms with exact same value for VM_DATA_DEFAULT_FLAGS This creates a default value for VM_DATA_DEFAULT_FLAGS in line with the existing VM_STACK_DEFAULT_FLAGS. While here, also define some more macros with standard VMA access flag combinations that are used frequently across many platforms. Apart from simplification, this reduces code duplication as well. Signed-off-by: Anshuman Khandual <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Reviewed-by: Vlastimil Babka <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Cc: Richard Henderson <[email protected]> Cc: Vineet Gupta <[email protected]> Cc: Russell King <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Mark Salter <[email protected]> Cc: Guo Ren <[email protected]> Cc: Yoshinori Sato <[email protected]> Cc: Brian Cain <[email protected]> Cc: Tony Luck <[email protected]> Cc: Michal Simek <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: Paul Burton <[email protected]> Cc: Nick Hu <[email protected]> Cc: Ley Foon Tan <[email protected]> Cc: Jonas Bonn <[email protected]> Cc: "James E.J. Bottomley" <[email protected]> Cc: Michael Ellerman <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: Rich Felker <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Guan Xuetao <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Jeff Dike <[email protected]> Cc: Chris Zankel <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>
1 parent 8cd3984 commit c62da0c

File tree

28 files changed

+31
-89
lines changed

28 files changed

+31
-89
lines changed

arch/alpha/include/asm/page.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@ typedef struct page *pgtable_t;
9090
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
9191
#endif /* CONFIG_DISCONTIGMEM */
9292

93-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
94-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
95-
9693
#include <asm-generic/memory_model.h>
9794
#include <asm-generic/getorder.h>
9895

arch/arc/include/asm/page.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ typedef pte_t * pgtable_t;
102102
#define virt_addr_valid(kaddr) pfn_valid(virt_to_pfn(kaddr))
103103

104104
/* Default Permissions for stack/heaps pages (Non Executable) */
105-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
105+
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_NON_EXEC
106106

107107
#define WANT_PAGE_VIRTUAL 1
108108

arch/arm/include/asm/page.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,7 @@ extern int pfn_valid(unsigned long);
161161

162162
#endif /* !__ASSEMBLY__ */
163163

164-
#define VM_DATA_DEFAULT_FLAGS \
165-
(((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
166-
VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
164+
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_TSK_EXEC
167165

168166
#include <asm-generic/getorder.h>
169167

arch/arm64/include/asm/page.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ extern int pfn_valid(unsigned long);
3636

3737
#endif /* !__ASSEMBLY__ */
3838

39-
#define VM_DATA_DEFAULT_FLAGS \
40-
(((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
41-
VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
39+
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_TSK_EXEC
4240

4341
#include <asm-generic/getorder.h>
4442

arch/c6x/include/asm/page.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22
#ifndef _ASM_C6X_PAGE_H
33
#define _ASM_C6X_PAGE_H
44

5-
#define VM_DATA_DEFAULT_FLAGS \
6-
(VM_READ | VM_WRITE | \
7-
((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
8-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
5+
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_TSK_EXEC
96

107
#include <asm-generic/page.h>
118

arch/csky/include/asm/page.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,6 @@ extern unsigned long va_pa_offset;
8585
PHYS_OFFSET_OFFSET)
8686
#define virt_to_page(x) (mem_map + MAP_NR(x))
8787

88-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
89-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
90-
9188
#define pfn_to_kaddr(x) __va(PFN_PHYS(x))
9289

9390
#include <asm-generic/memory_model.h>

arch/h8300/include/asm/page.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
#include <linux/types.h>
77

88
#define MAP_NR(addr) (((uintptr_t)(addr)-PAGE_OFFSET) >> PAGE_SHIFT)
9-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
10-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
119

1210
#ifndef __ASSEMBLY__
1311
extern unsigned long rom_length;

arch/hexagon/include/asm/page.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ struct page;
9393
#define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(__pa(kaddr)))
9494

9595
/* Default vm area behavior is non-executable. */
96-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | \
97-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
96+
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_NON_EXEC
9897

9998
#define pfn_valid(pfn) ((pfn) < max_mapnr)
10099
#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)

arch/ia64/include/asm/page.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,7 @@ get_order (unsigned long size)
218218

219219
#define PAGE_OFFSET RGN_BASE(RGN_KERNEL)
220220

221-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | \
222-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC | \
223-
(((current->personality & READ_IMPLIES_EXEC) != 0) \
224-
? VM_EXEC : 0))
221+
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_TSK_EXEC
225222

226223
#define GATE_ADDR RGN_BASE(RGN_GATE)
227224

arch/m68k/include/asm/page.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,6 @@ extern unsigned long _ramend;
6565
#define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT))
6666
#define __pfn_to_phys(pfn) PFN_PHYS(pfn)
6767

68-
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
69-
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
70-
7168
#include <asm-generic/getorder.h>
7269

7370
#endif /* _M68K_PAGE_H */

0 commit comments

Comments
 (0)