Skip to content

Commit 5b8b9d0

Browse files
committed
Merge branch 'akpm' (patches from Andrew)
Merge yet more updates from Andrew Morton: - Almost all of the rest of MM (memcg, slab-generic, slab, pagealloc, gup, hugetlb, pagemap, memremap) - Various other things (hfs, ocfs2, kmod, misc, seqfile) * akpm: (34 commits) ipc/util.c: sysvipc_find_ipc() should increase position index kernel/gcov/fs.c: gcov_seq_next() should increase position index fs/seq_file.c: seq_read(): add info message about buggy .next functions drivers/dma/tegra20-apb-dma.c: fix platform_get_irq.cocci warnings change email address for Pali Rohár selftests: kmod: test disabling module autoloading selftests: kmod: fix handling test numbers above 9 docs: admin-guide: document the kernel.modprobe sysctl fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once() kmod: make request_module() return an error when autoloading is disabled mm/memremap: set caching mode for PCI P2PDMA memory to WC mm/memory_hotplug: add pgprot_t to mhp_params powerpc/mm: thread pgprot_t through create_section_mapping() x86/mm: introduce __set_memory_prot() x86/mm: thread pgprot_t through init_memory_mapping() mm/memory_hotplug: rename mhp_restrictions to mhp_params mm/memory_hotplug: drop the flags field from struct mhp_restrictions mm/special: create generic fallbacks for pte_special() and pte_mkspecial() mm/vma: introduce VM_ACCESS_FLAGS mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS ...
2 parents ca6151a + 89163f9 commit 5b8b9d0

File tree

130 files changed

+706
-366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+706
-366
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ Oleksij Rempel <[email protected]> <[email protected]>
210210
211211
212212
213+
213214
Paolo 'Blaisorblade' Giarrusso <[email protected]>
214215
Patrick Mochel <[email protected]>
215216

Documentation/ABI/testing/sysfs-platform-dell-laptop

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ What: /sys/class/leds/dell::kbd_backlight/als_enabled
22
Date: December 2014
33
KernelVersion: 3.19
44
Contact: Gabriele Mazzotta <[email protected]>,
5-
Pali Rohár <pali[email protected]>
5+
Pali Rohár <pali@kernel.org>
66
Description:
77
This file allows to control the automatic keyboard
88
illumination mode on some systems that have an ambient
@@ -13,7 +13,7 @@ What: /sys/class/leds/dell::kbd_backlight/als_setting
1313
Date: December 2014
1414
KernelVersion: 3.19
1515
Contact: Gabriele Mazzotta <[email protected]>,
16-
Pali Rohár <pali[email protected]>
16+
Pali Rohár <pali@kernel.org>
1717
Description:
1818
This file allows to specifiy the on/off threshold value,
1919
as reported by the ambient light sensor.
@@ -22,7 +22,7 @@ What: /sys/class/leds/dell::kbd_backlight/start_triggers
2222
Date: December 2014
2323
KernelVersion: 3.19
2424
Contact: Gabriele Mazzotta <[email protected]>,
25-
Pali Rohár <pali[email protected]>
25+
Pali Rohár <pali@kernel.org>
2626
Description:
2727
This file allows to control the input triggers that
2828
turn on the keyboard backlight illumination that is
@@ -45,7 +45,7 @@ What: /sys/class/leds/dell::kbd_backlight/stop_timeout
4545
Date: December 2014
4646
KernelVersion: 3.19
4747
Contact: Gabriele Mazzotta <[email protected]>,
48-
Pali Rohár <pali[email protected]>
48+
Pali Rohár <pali@kernel.org>
4949
Description:
5050
This file allows to specify the interval after which the
5151
keyboard illumination is disabled because of inactivity.

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,6 +1471,14 @@
14711471
hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET
14721472
registers. Default set by CONFIG_HPET_MMAP_DEFAULT.
14731473

1474+
hugetlb_cma= [HW] The size of a cma area used for allocation
1475+
of gigantic hugepages.
1476+
Format: nn[KMGTPE]
1477+
1478+
Reserve a cma area of given size and allocate gigantic
1479+
hugepages using the cma allocator. If enabled, the
1480+
boot-time allocation of gigantic hugepages is skipped.
1481+
14741482
hugepages= [HW,X86-32,IA-64] HugeTLB pages to allocate at boot.
14751483
hugepagesz= [HW,IA-64,PPC,X86-64] The size of the HugeTLB pages.
14761484
On x86-64 and powerpc, this option can be specified

Documentation/admin-guide/sysctl/kernel.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,27 @@ Notes:
446446
successful IPC object allocation. If an IPC object allocation syscall
447447
fails, it is undefined if the value remains unmodified or is reset to -1.
448448

449+
modprobe:
450+
=========
451+
452+
The path to the usermode helper for autoloading kernel modules, by
453+
default "/sbin/modprobe". This binary is executed when the kernel
454+
requests a module. For example, if userspace passes an unknown
455+
filesystem type to mount(), then the kernel will automatically request
456+
the corresponding filesystem module by executing this usermode helper.
457+
This usermode helper should insert the needed module into the kernel.
458+
459+
This sysctl only affects module autoloading. It has no effect on the
460+
ability to explicitly insert modules.
461+
462+
If this sysctl is set to the empty string, then module autoloading is
463+
completely disabled. The kernel will not try to execute a usermode
464+
helper at all, nor will it call the kernel_module_request LSM hook.
465+
466+
If CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration,
467+
then the configured static usermode helper overrides this sysctl,
468+
except that the empty string is still accepted to completely disable
469+
module autoloading as described above.
449470

450471
nmi_watchdog
451472
============

MAINTAINERS

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,7 @@ L: [email protected]
727727
F: arch/alpha/
728728

729729
ALPS PS/2 TOUCHPAD DRIVER
730-
R: Pali Rohár <pali[email protected]>
730+
R: Pali Rohár <pali@kernel.org>
731731
F: drivers/input/mouse/alps.*
732732

733733
ALTERA I2C CONTROLLER DRIVER
@@ -4774,23 +4774,23 @@ F: drivers/net/fddi/defza.*
47744774

47754775
DELL LAPTOP DRIVER
47764776
M: Matthew Garrett <[email protected]>
4777-
M: Pali Rohár <pali[email protected]>
4777+
M: Pali Rohár <pali@kernel.org>
47784778
47794779
S: Maintained
47804780
F: drivers/platform/x86/dell-laptop.c
47814781

47824782
DELL LAPTOP FREEFALL DRIVER
4783-
M: Pali Rohár <pali[email protected]>
4783+
M: Pali Rohár <pali@kernel.org>
47844784
S: Maintained
47854785
F: drivers/platform/x86/dell-smo8800.c
47864786

47874787
DELL LAPTOP RBTN DRIVER
4788-
M: Pali Rohár <pali[email protected]>
4788+
M: Pali Rohár <pali@kernel.org>
47894789
S: Maintained
47904790
F: drivers/platform/x86/dell-rbtn.*
47914791

47924792
DELL LAPTOP SMM DRIVER
4793-
M: Pali Rohár <pali[email protected]>
4793+
M: Pali Rohár <pali@kernel.org>
47944794
S: Maintained
47954795
F: drivers/hwmon/dell-smm-hwmon.c
47964796
F: include/uapi/linux/i8k.h
@@ -4802,7 +4802,7 @@ S: Maintained
48024802
F: drivers/platform/x86/dell_rbu.c
48034803

48044804
DELL SMBIOS DRIVER
4805-
M: Pali Rohár <pali[email protected]>
4805+
M: Pali Rohár <pali@kernel.org>
48064806
M: Mario Limonciello <[email protected]>
48074807
48084808
S: Maintained
@@ -4835,7 +4835,7 @@ F: drivers/platform/x86/dell-wmi-descriptor.c
48354835

48364836
DELL WMI NOTIFICATIONS DRIVER
48374837
M: Matthew Garrett <[email protected]>
4838-
M: Pali Rohár <pali[email protected]>
4838+
M: Pali Rohár <pali@kernel.org>
48394839
S: Maintained
48404840
F: drivers/platform/x86/dell-wmi.c
48414841

@@ -11950,7 +11950,7 @@ F: drivers/media/i2c/et8ek8
1195011950
F: drivers/media/i2c/ad5820.c
1195111951

1195211952
NOKIA N900 POWER SUPPLY DRIVERS
11953-
R: Pali Rohár <pali[email protected]>
11953+
R: Pali Rohár <pali@kernel.org>
1195411954
F: include/linux/power/bq2415x_charger.h
1195511955
F: include/linux/power/bq27xxx_battery.h
1195611956
F: drivers/power/supply/bq2415x_charger.c

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/alpha/include/asm/pgtable.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,15 +268,13 @@ extern inline void pud_clear(pud_t * pudp) { pud_val(*pudp) = 0; }
268268
extern inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_FOW); }
269269
extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
270270
extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
271-
extern inline int pte_special(pte_t pte) { return 0; }
272271

273272
extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_FOW; return pte; }
274273
extern inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~(__DIRTY_BITS); return pte; }
275274
extern inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~(__ACCESS_BITS); return pte; }
276275
extern inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) &= ~_PAGE_FOW; return pte; }
277276
extern inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= __DIRTY_BITS; return pte; }
278277
extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= __ACCESS_BITS; return pte; }
279-
extern inline pte_t pte_mkspecial(pte_t pte) { return pte; }
280278

281279
#define PAGE_DIR_OFFSET(tsk,address) pgd_offset((tsk),(address))
282280

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/arm/include/asm/pgtable-2level.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,6 @@ static inline pmd_t *pmd_offset(pud_t *pud, unsigned long addr)
211211
#define pmd_addr_end(addr,end) (end)
212212

213213
#define set_pte_ext(ptep,pte,ext) cpu_set_pte_ext(ptep,pte,ext)
214-
#define pte_special(pte) (0)
215-
static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
216214

217215
/*
218216
* We don't have huge page support for short descriptors, for the moment

arch/arm/include/asm/pgtable.h

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -243,19 +243,8 @@ static inline void __sync_icache_dcache(pte_t pteval)
243243
extern void __sync_icache_dcache(pte_t pteval);
244244
#endif
245245

246-
static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
247-
pte_t *ptep, pte_t pteval)
248-
{
249-
unsigned long ext = 0;
250-
251-
if (addr < TASK_SIZE && pte_valid_user(pteval)) {
252-
if (!pte_special(pteval))
253-
__sync_icache_dcache(pteval);
254-
ext |= PTE_EXT_NG;
255-
}
256-
257-
set_pte_ext(ptep, pteval, ext);
258-
}
246+
void set_pte_at(struct mm_struct *mm, unsigned long addr,
247+
pte_t *ptep, pte_t pteval);
259248

260249
static inline pte_t clear_pte_bit(pte_t pte, pgprot_t prot)
261250
{

arch/arm/mach-omap2/omap-secure.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (C) 2011 Texas Instruments, Inc.
66
* Santosh Shilimkar <[email protected]>
77
* Copyright (C) 2012 Ivaylo Dimitrov <[email protected]>
8-
* Copyright (C) 2013 Pali Rohár <pali[email protected]>
8+
* Copyright (C) 2013 Pali Rohár <pali@kernel.org>
99
*/
1010

1111
#include <linux/arm-smccc.h>

arch/arm/mach-omap2/omap-secure.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (C) 2011 Texas Instruments, Inc.
66
* Santosh Shilimkar <[email protected]>
77
* Copyright (C) 2012 Ivaylo Dimitrov <[email protected]>
8-
* Copyright (C) 2013 Pali Rohár <pali[email protected]>
8+
* Copyright (C) 2013 Pali Rohár <pali@kernel.org>
99
*/
1010
#ifndef OMAP_ARCH_OMAP_SECURE_H
1111
#define OMAP_ARCH_OMAP_SECURE_H

arch/arm/mach-omap2/omap-smc.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Written by Santosh Shilimkar <[email protected]>
77
*
88
* Copyright (C) 2012 Ivaylo Dimitrov <[email protected]>
9-
* Copyright (C) 2013 Pali Rohár <pali[email protected]>
9+
* Copyright (C) 2013 Pali Rohár <pali@kernel.org>
1010
*/
1111

1212
#include <linux/linkage.h>

arch/arm/mm/fault.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
189189
*/
190190
static inline bool access_error(unsigned int fsr, struct vm_area_struct *vma)
191191
{
192-
unsigned int mask = VM_READ | VM_WRITE | VM_EXEC;
192+
unsigned int mask = VM_ACCESS_FLAGS;
193193

194194
if ((fsr & FSR_WRITE) && !(fsr & FSR_CM))
195195
mask = VM_WRITE;

arch/arm/mm/mmu.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1646,3 +1646,17 @@ void __init early_mm_init(const struct machine_desc *mdesc)
16461646
build_mem_type_table();
16471647
early_paging_init(mdesc);
16481648
}
1649+
1650+
void set_pte_at(struct mm_struct *mm, unsigned long addr,
1651+
pte_t *ptep, pte_t pteval)
1652+
{
1653+
unsigned long ext = 0;
1654+
1655+
if (addr < TASK_SIZE && pte_valid_user(pteval)) {
1656+
if (!pte_special(pteval))
1657+
__sync_icache_dcache(pteval);
1658+
ext |= PTE_EXT_NG;
1659+
}
1660+
1661+
set_pte_ext(ptep, pteval, ext);
1662+
}

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/arm64/mm/fault.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
445445
const struct fault_info *inf;
446446
struct mm_struct *mm = current->mm;
447447
vm_fault_t fault, major = 0;
448-
unsigned long vm_flags = VM_READ | VM_WRITE | VM_EXEC;
448+
unsigned long vm_flags = VM_ACCESS_FLAGS;
449449
unsigned int mm_flags = FAULT_FLAG_DEFAULT;
450450

451451
if (kprobe_page_fault(regs, esr))

arch/arm64/mm/init.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <linux/mm.h>
3030
#include <linux/kexec.h>
3131
#include <linux/crash_dump.h>
32+
#include <linux/hugetlb.h>
3233

3334
#include <asm/boot.h>
3435
#include <asm/fixmap.h>
@@ -457,6 +458,11 @@ void __init arm64_memblock_init(void)
457458
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
458459

459460
dma_contiguous_reserve(arm64_dma32_phys_limit);
461+
462+
#ifdef CONFIG_ARM64_4K_PAGES
463+
hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT);
464+
#endif
465+
460466
}
461467

462468
void __init bootmem_init(void)

arch/arm64/mm/mmu.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1374,20 +1374,21 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
13741374
}
13751375

13761376
int arch_add_memory(int nid, u64 start, u64 size,
1377-
struct mhp_restrictions *restrictions)
1377+
struct mhp_params *params)
13781378
{
13791379
int ret, flags = 0;
13801380

13811381
if (rodata_full || debug_pagealloc_enabled())
13821382
flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
13831383

13841384
__create_pgd_mapping(swapper_pg_dir, start, __phys_to_virt(start),
1385-
size, PAGE_KERNEL, __pgd_pgtable_alloc, flags);
1385+
size, params->pgprot, __pgd_pgtable_alloc,
1386+
flags);
13861387

13871388
memblock_clear_nomap(start, size);
13881389

13891390
ret = __add_pages(nid, start >> PAGE_SHIFT, size >> PAGE_SHIFT,
1390-
restrictions);
1391+
params);
13911392
if (ret)
13921393
__remove_pgd_mapping(swapper_pg_dir,
13931394
__phys_to_virt(start), size);

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/csky/include/asm/pgtable.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,6 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
110110
extern void load_pgd(unsigned long pg_dir);
111111
extern pte_t invalid_pte_table[PTRS_PER_PTE];
112112

113-
static inline int pte_special(pte_t pte) { return 0; }
114-
static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
115-
116113
static inline void set_pte(pte_t *p, pte_t pte)
117114
{
118115
*p = pte;

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)

0 commit comments

Comments
 (0)