From: Ben Hutchings Date: Wed, 5 Jul 2017 12:32:43 +0000 (+0100) Subject: mmap: Remember the MAP_FIXED flag as VM_FIXED X-Git-Tag: archive/raspbian/4.15.17-1+rpi1^2~68 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fa7349bab1a310c9a10bdc163f86b5884bd5106f;p=linux.git mmap: Remember the MAP_FIXED flag as VM_FIXED Since 4.15 there are no spare bits, but we can use VM_ARCH_1 as VM_FIXED wil only be needed on x86. Signed-off-by: Ben Hutchings Gbp-Pq: Topic bugfix/x86 Gbp-Pq: Name mmap-remember-the-map_fixed-flag-as-vm_fixed.patch --- diff --git a/include/linux/mm.h b/include/linux/mm.h index fbd47990e71..432deb97aea 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -201,6 +201,11 @@ extern unsigned int kobjsize(const void *objp); #define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */ #define VM_SYNC 0x00800000 /* Synchronous page faults */ #define VM_ARCH_1 0x01000000 /* Architecture-specific flag */ +#ifdef CONFIG_X86 +#define VM_FIXED VM_ARCH_1 /* Allocated at fixed address */ +#else +#define VM_FIXED 0 +#endif #define VM_WIPEONFORK 0x02000000 /* Wipe VMA contents in child. */ #define VM_DONTDUMP 0x04000000 /* Do not include in the core dump */ diff --git a/include/linux/mman.h b/include/linux/mman.h index 6a4d1caaff5..393970e55bb 100644 --- a/include/linux/mman.h +++ b/include/linux/mman.h @@ -131,7 +131,9 @@ calc_vm_flag_bits(unsigned long flags) return _calc_vm_trans(flags, MAP_GROWSDOWN, VM_GROWSDOWN ) | _calc_vm_trans(flags, MAP_DENYWRITE, VM_DENYWRITE ) | _calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) | - _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ); + _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) | + (VM_FIXED ? + _calc_vm_trans(flags, MAP_FIXED, VM_FIXED ) : 0); } unsigned long vm_commit_limit(void);