From: Liam R. Howlett <Liam.Howlett@Oracle.com> Date: Mon, 4 Jan 2021 19:46:23 +0000 (-0500) Subject: fs/proc/base: Use maple tree iterators in place of linked list X-Git-Tag: howlett/maple_spf/20210129~27 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5fd2b96352615e99d4aba6e12d2f653bfb03f052;p=users%2Fjedix%2Flinux-maple.git fs/proc/base: Use maple tree iterators in place of linked list Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com> --- diff --git a/fs/proc/base.c b/fs/proc/base.c index f52217f432bc..e55ecd42642b 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -2313,6 +2313,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) GENRADIX(struct map_files_info) fa; struct map_files_info *p; int ret; + MA_STATE(mas, NULL, 0, 0); genradix_init(&fa); @@ -2340,6 +2341,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) } nr_files = 0; + mas.tree = &mm->mm_mt; /* * We need two passes here: @@ -2351,7 +2353,8 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx) * routine might require mmap_lock taken in might_fault(). */ - for (vma = mm->mmap, pos = 2; vma; vma = vma->vm_next) { + pos = 2; + mas_for_each(&mas, vma, ULONG_MAX) { if (!vma->vm_file) continue; if (++pos <= ctx->pos)