History

mm: convert __get_unmapped_area() to use vma_flags_t

Update __get_unmapped_area() to be parameterised by vma_flags_t rather than vm_flags_t as part of the effort to move VMA flags from a system word to a bitmap. We cascade the changes up to arch_get_unmapped_area_topdown() and arch_get_unmapped_area(), where, for now, we use vma_flags_to_legacy() in order to propagate the VMA flags. No functional change intended.

Lorenzo Stoakes committed 4 months ago

Commit 2ec74811 parent 1944a016 files · +40 −36Browse files

Showing the changes to include (3 of 6 files). Show all

Unified · Split

3 files
  1. include/linux/huge_mm.h +5 −5
  2. include/linux/mm.h +4 −2
  3. include/linux/sched/mm.h +3 −6
include/linux/huge_mm.h+5−5
@@ -391,9 +391,9 @@ static inline bool thp_disabled_by_hw(void) · 390 unmodified lines
391391
392392 unsigned long thp_get_unmapped_area(struct file *filp, unsigned long addr,
393393 unsigned long len, unsigned long pgoff, unsigned long flags);
394−unsigned long thp_get_unmapped_area_vmflags(struct file *filp, unsigned long addr,
394+unsigned long thp_get_unmapped_area_vmaflags(struct file *filp, unsigned long addr,
395395 unsigned long len, unsigned long pgoff, unsigned long flags,
396− vm_flags_t vm_flags);
396+ vma_flags_t vma_flags);
397397
398398 enum split_type {
399399 SPLIT_TYPE_UNIFORM,
@@ -617,9 +617,9 @@ static inline unsigned long thp_vma_allowable_orders(struct vm_area_struct *vma, · 217 unmodified lines
617617 #define thp_get_unmapped_area NULL
618618
619619 static inline unsigned long
620−thp_get_unmapped_area_vmflags(struct file *filp, unsigned long addr,
621− unsigned long len, unsigned long pgoff,
622− unsigned long flags, vm_flags_t vm_flags)
620+thp_get_unmapped_area_vmaflags(struct file *filp, unsigned long addr,
621+ unsigned long len, unsigned long pgoff,
622+ unsigned long flags, vma_flags_t vma_flags)
623623 {
624624 return 0;
625625 }
include/linux/mm.h+4−2
@@ -4191,13 +4191,15 @@ unsigned long randomize_page(unsigned long start, unsigned long range); · 4190 unmodified lines
41914191
41924192 unsigned long
41934193 __get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
4194− unsigned long pgoff, unsigned long flags, vm_flags_t vm_flags);
4194+ unsigned long pgoff, unsigned long flags,
4195+ vma_flags_t vma_flags);
41954196
41964197 static inline unsigned long
41974198 get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
41984199 unsigned long pgoff, unsigned long flags)
41994200 {
4200− return __get_unmapped_area(file, addr, len, pgoff, flags, 0);
4201+ return __get_unmapped_area(file, addr, len, pgoff, flags,
4202+ EMPTY_VMA_FLAGS);
42014203 }
42024204
42034205 unsigned long do_mmap(struct file *file, unsigned long addr,
include/linux/sched/mm.h+3−6
@@ -193,12 +193,9 @@ unsigned long mm_get_unmapped_area(struct file *filp, unsigned long addr, · 192 unmodified lines
193193 unsigned long len, unsigned long pgoff,
194194 unsigned long flags);
195195
196−unsigned long mm_get_unmapped_area_vmflags(struct file *filp,
197− unsigned long addr,
198− unsigned long len,
199− unsigned long pgoff,
200− unsigned long flags,
201− vm_flags_t vm_flags);
196+unsigned long mm_get_unmapped_area_vmaflags(struct file *filp,
197+ unsigned long addr, unsigned long len, unsigned long pgoff,
198+ unsigned long flags, vma_flags_t vma_flags);
202199
203200 unsigned long
204201 generic_get_unmapped_area(struct file *filp, unsigned long addr,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t