lkml.org 
[lkml]   [2021]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 63/94] fs/coredump: Use maple tree iterators in place of linked list
Date
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
---
fs/coredump.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/fs/coredump.c b/fs/coredump.c
index 2868e3e171ae..b7f42e81d84d 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -1056,10 +1056,10 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma,
return vma->vm_end - vma->vm_start;
}

-static struct vm_area_struct *first_vma(struct task_struct *tsk,
+static struct vm_area_struct *first_vma(struct mm_struct *mm,
struct vm_area_struct *gate_vma)
{
- struct vm_area_struct *ret = tsk->mm->mmap;
+ struct vm_area_struct *ret = find_vma(mm, 0);

if (ret)
return ret;
@@ -1070,12 +1070,13 @@ static struct vm_area_struct *first_vma(struct task_struct *tsk,
* Helper function for iterating across a vma list. It ensures that the caller
* will visit `gate_vma' prior to terminating the search.
*/
-static struct vm_area_struct *next_vma(struct vm_area_struct *this_vma,
+static struct vm_area_struct *next_vma(struct mm_struct *mm,
+ struct vm_area_struct *this_vma,
struct vm_area_struct *gate_vma)
{
struct vm_area_struct *ret;

- ret = this_vma->vm_next;
+ ret = vma_next(mm, this_vma);
if (ret)
return ret;
if (this_vma == gate_vma)
@@ -1113,8 +1114,8 @@ int dump_vma_snapshot(struct coredump_params *cprm, int *vma_count,
return -ENOMEM;
}

- for (i = 0, vma = first_vma(current, gate_vma); vma != NULL;
- vma = next_vma(vma, gate_vma), i++) {
+ for (i = 0, vma = first_vma(mm, gate_vma); vma != NULL;
+ vma = next_vma(mm, vma, gate_vma), i++) {
struct core_vma_metadata *m = (*vma_meta) + i;

m->start = vma->vm_start;
--
2.30.2
\
 
 \ /
  Last update: 2021-04-28 17:41    [W:0.709 / U:0.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site