mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
fs/proc/task_mmu.c: introduce m_next_vma() helper
Extract the tail_vma/vm_next calculation from m_next() into the new trivial helper, m_next_vma(). Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0c255321f8
commit
ad2a00e4b7
@ -138,6 +138,14 @@ static void vma_stop(struct proc_maps_private *priv)
|
||||
mmput(mm);
|
||||
}
|
||||
|
||||
static struct vm_area_struct *
|
||||
m_next_vma(struct proc_maps_private *priv, struct vm_area_struct *vma)
|
||||
{
|
||||
if (vma == priv->tail_vma)
|
||||
return NULL;
|
||||
return vma->vm_next ?: priv->tail_vma;
|
||||
}
|
||||
|
||||
static void *m_start(struct seq_file *m, loff_t *ppos)
|
||||
{
|
||||
struct proc_maps_private *priv = m->private;
|
||||
@ -173,13 +181,10 @@ static void *m_start(struct seq_file *m, loff_t *ppos)
|
||||
static void *m_next(struct seq_file *m, void *v, loff_t *pos)
|
||||
{
|
||||
struct proc_maps_private *priv = m->private;
|
||||
struct vm_area_struct *tail_vma = priv->tail_vma;
|
||||
struct vm_area_struct *vma = v, *next = NULL;
|
||||
struct vm_area_struct *next;
|
||||
|
||||
(*pos)++;
|
||||
if (vma != tail_vma)
|
||||
next = vma->vm_next ?: tail_vma;
|
||||
|
||||
next = m_next_vma(priv, v);
|
||||
if (!next)
|
||||
vma_stop(priv);
|
||||
return next;
|
||||
|
Loading…
Reference in New Issue
Block a user