Blob Blame History Raw
From: Seth Jenkins <sethjenkins@google.com>
Date: Mon,  3 Oct 2022 18:45:31 -0400
Subject: [PATCH] mm: /proc/pid/smaps_rollup: fix no vma's null-deref
Patch-mainline: Never, fixed differently
References: bsc#1207769

mhocko@suse.com:
The upstream has fixed by c4c84f06285e ("fs/proc/task_mmu: stop using linked
list and highest_vm_end") which is a larger chabge not really suitable for
backporintg.

Commit 258f669e7e88 ("mm: /proc/pid/smaps_rollup: convert to single value
seq_file") introduced a null-deref if there are no vma's in the task in
show_smaps_rollup.

Fixes: 258f669e7e88 ("mm: /proc/pid/smaps_rollup: convert to single value seq_file")
Cc: stable@vger.kernel.org
Signed-off-by: Seth Jenkins <sethjenkins@google.com>
Acked-by: Michal Hocko <mhocko@suse.com>

---
 fs/proc/task_mmu.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -876,7 +876,7 @@ static int show_smaps_rollup(struct seq_
 		last_vma_end = vma->vm_end;
 	}
 
-	show_vma_header_prefix(m, priv->mm->mmap->vm_start,
+	show_vma_header_prefix(m, priv->mm->mmap ? priv->mm->mmap->vm_start : 0,
 			       last_vma_end, 0, 0, 0, 0);
 	seq_pad(m, ' ');
 	seq_puts(m, "[rollup]\n");