Re: [PATCH 3.2 056/185] mm: ensure get_unmapped_area() returns higher address than mmap_min_addr

From: Akira Takeuchi
Date: Mon Jan 06 2014 - 21:25:58 EST


On Mon, 6 Jan 2014 12:32:07 +0000
Luis Henriques <luis.henriques@xxxxxxxxxxxxx> wrote:

> On Mon, Jan 06, 2014 at 07:19:10PM +0900, Akira Takeuchi wrote:
> > On Fri, 03 Jan 2014 04:26:43 +0000
> > Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote:
> >
> > > On Sun, 2013-12-29 at 03:08 +0100, Ben Hutchings wrote:
> > > > 3.2.54-rc1 review patch. If anyone has any objections, please let me know.
> > > >
> > > > ------------------
> > > >
> > > > From: Akira Takeuchi <takeuchi.akr@xxxxxxxxxxxxxxxx>
> > > >
> > > > commit 2afc745f3e3079ab16c826be4860da2529054dd2 upstream.
> > > [...]
> > > > [bwh: Backported to 3.2:
> > > > As we do not have vm_unmapped_area(), make arch_get_unmapped_area_topdown()
> > > > calculate the lower limit for the new area's end address and then compare
> > > > addresses with this instead of with len. In the process, fix an off-by-one
> > > > error which could result in returning 0 if mm->mmap_base == len.]
> > >
> > > I'm dropping this as I have no good way to test the backport (it's not
> > > used on x86) and I didn't get any confirmation that it's right.
> >
> > I'm sorry for delayed reply.
> >
> > Your backport seems right.
> > Additionally, I've confirmed the problem is resolved by your backport patch.
>
> Sorry I'm also late for this review.
>
> I guess this means the backport I made for the 3.5 kernel (and released on
> 3.5.7.26) is incorrect:
>
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=commitdiff;h=745545489d25d1b9ecf2d78a8f9a31a362806d2d
>
> Akira, could you please confirm if this is the case so that I revert it in
> next release?

The backport for the 3.5 kernel is insufficient to solve the problem,
as you are concered about.

I've created the patch for 3.5 kernel based on Ben's patch.
Please review and use it if there is no problem.

Regads,
Akira Takeuchi