Re: [PATCH stable v6.1] mm/mmap: Fix extra maple tree write

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> [230707 11:55]:
> On Thu, Jul 06, 2023 at 02:51:35PM -0400, Liam R. Howlett wrote:
> > commit 0503ea8f5ba73eb3ab13a81c1eefbaf51405385a upstream.
> > 
> > This was inadvertently fixed during the removal of __vma_adjust().
> > 
> > When __vma_adjust() is adjusting next with a negative value (pushing
> > vma->vm_end lower), there would be two writes to the maple tree.  The
> > first write is unnecessary and uses all allocated nodes in the maple
> > state.  The second write is necessary but will need to allocate nodes
> > since the first write has used the allocated nodes.  This may be a
> > problem as it may not be safe to allocate at this time, such as a low
> > memory situation.  Fix the issue by avoiding the first write and only
> > write the adjusted "next" VMA.
> 
> Are you sure this is the same git id?  The one you reference above is
> _VERY_ different from your 2 line change below.
> 
> And the changelog text is not the same.

Yes, but I am not sure I've indicated what happened correctly.

The bug exists in the older __vma_adjust() function, but I removed
__vma_adjust() and inadvertently fixed the bug.  So the bug doesn't
exist upstream *because* of that commit:

0503ea8f5ba7 ("mm/mmap: remove __vma_adjust()")

My comment after the commit id indicates what happened, but the
documentation wasn't clear to me on how to specify what happened.

Does this answer your question?

Thanks,
Liam




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux