2022-02-16 06:27:58

by Yang Shi

[permalink] [raw]
Subject: Re: [PATCH 1/1] mm: fix use-after-free bug when mm->mmap is reused after being freed

On Tue, Feb 15, 2022 at 12:19 PM Suren Baghdasaryan <[email protected]> wrote:
>
> After exit_mmap frees all vmas in the mm, mm->mmap needs to be reset,
> otherwise it points to a vma that was freed and when reused leads to
> a use-after-free bug.
>
> Reported-by: [email protected]
> Suggested-by: Michal Hocko <[email protected]>
> Signed-off-by: Suren Baghdasaryan <[email protected]>

Looks good to me. Reviewed-by: Yang Shi <[email protected]>

> ---
> mm/mmap.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 1e8fdb0b51ed..d445c1b9d606 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -3186,6 +3186,7 @@ void exit_mmap(struct mm_struct *mm)
> vma = remove_vma(vma);
> cond_resched();
> }
> + mm->mmap = NULL;
> mmap_write_unlock(mm);
> vm_unacct_memory(nr_accounted);
> }
> --
> 2.35.1.265.g69c8d7142f-goog
>