Re: 2.6.23-rc3-mm1 - memory layout change? - lost support forMAP_32BIT? - mono crashes

From: Zan Lynx
Date: Thu Aug 23 2007 - 13:33:18 EST


On Thu, 2007-08-23 at 11:28 +0200, Jiri Kosina wrote:
> On Wed, 22 Aug 2007, Zan Lynx wrote:
>
> > After installing this new wonder kernel on my AMD-64 laptop, I
> > discovered that Beagle wouldn't start. While enjoying how fast my
> > system felt ( :) ) I also discovered that Evolution wouldn't start
> > because it was built with mono integration.
> [...]
> > Mono claims to mmap with the MAP_32BIT option.
> > In -rc3-mm1 strace shows mono's mmap like this:
> > mmap(NULL, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_32BIT, -1, 0) = 0x7fa21f5cb000
>
> Hi Zan,
>
> thanks for an excellent bugreport. Rather than throwing the whole
> pie-randomization and flexmmap support away, could you please test the
> patch below and let me know whether it fixes all your issues? Thanks.
>
>
> From: Jiri Kosina <jkosina@xxxxxxx>
>
> Handle MAP_32BIT flags properly in x86_64 flexmmap
>
> We need to handle MAP_32BIT flags of mmap() properly for 64bit
> applications with filexible mmap layout.
>
> This patch introduces x86_64-specific version of
> arch_get_unmapped_area_topdown() which differs from the generic one in
> handling of the MAP_32BIT flag -- when this flag is passed to mmap(), we
> stick back to the legacy layout for this particular mmap, which gives
> proper 32bit range.
>
> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
[snip patch]

This does fix the mono problem. Thank you.
--
Zan Lynx <zlynx@xxxxxxx>

Attachment: signature.asc
Description: This is a digitally signed message part