[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230502140907.o7fznev4jthtgp4i@revolver>
Date: Tue, 2 May 2023 10:09:07 -0400
From: "Liam R. Howlett" <Liam.Howlett@...cle.com>
To: Michael Keyes <mgkeyes@...ovproductions.net>,
Tad <support@...tco.us>, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
rick.p.edgecombe@...el.com
Cc: "Edgecombe, Rick P" <rick.p.edgecombe@...el.com>
Subject: Re: [PATCH v2] mm/mmap: Regression fix for unmapped_area{_topdown}
...Adding Rick to the Cc this time.
* Liam R. Howlett <Liam.Howlett@...cle.com> [230502 10:08]:
> * Michael Keyes <mgkeyes@...ovproductions.net> [230430 18:41]:
> > On 29.04.23 15:32, Tad wrote:
> > > This reintroduces the issue described in
> > > https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/
> > Yes, I also ran into this (even though I'd somehow missed it the
> > previous time).
>
> Rick Edgecombe reported something similar [1].
>
> This is probably to do with my stack guard checks I recently added.
>
> >
> > Apparently the issue arises at mm/mmap.c:1582, where low_limit is set to
> > vm_end_gap(tmp). Occasionally, this returns a 64-bit address (e.g.
> > 0x7fedea581000), which is obviously greater than high_limit for a 32-bit
> > mmap, and causes the next call to mas_empty_area() to fail.
> >
> > I'm not sure why vm_end_gap(tmp) occasionally returns a 64-bit address,
> > or if the best solution is to just check for this and skip the retry if
> > it occurs…
> >
>
> Thanks for the debugging. I will look into it.
>
> I am currently trying to revise how the iterators, prev/next deal with
> shifting outside the requested limits. I suspect it's something to do
> with hitting the limit and what someone would assume the next operation
> means.
>
> [1] https://lore.kernel.org/linux-mm/32f156ba80010fd97dbaf0a0cdfc84366608624d.camel@intel.com/
Powered by blists - more mailing lists