On 7/12/23 02:54, Liam R. Howlett wrote: > * Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> [230707 12:45]: >> * 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. "commit 0503ea8f5ba73eb3ab13a81c1eefbaf51405385a upstream." is indeed not the best indication. For stable it would mean you're backporting said commit, which is not the case. >> 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. I think it's because the process discourages stable-specific fixes. However this is the case where such approach is much simpler than backporting several series with non-trivial vma_merge() cleanups and subsequent follow-up fixes... So I agree with the exceptional stable-specific fix. Can you pinpoint a Fixes: tag? Some of the commits introducing the maple tree? Vlastimil >> Does this answer your question? > > Friendly ping on this one? > > Thanks, > Liam >