I believe the observed mmap behavior is correct:

By looking at the mappings already configured for the running process, I see 
that (cat /proc/<pid>/maps):
...
40084000-4009b000 r-xp 00000000 b3:02 91605      /lib/ld-2.12.1.so
4009b000-4009d000 rw-p 00000000 00:00 0 
400a3000-400a4000 r--p 00017000 b3:02 91605      /lib/ld-2.12.1.so
400a4000-400a5000 rw-p 00018000 b3:02 91605      /lib/ld-2.12.1.so
...

=> some libraries are already mapped from address 0x40084000, so mmap cannot 
use this virtual address, and instead provides another one (test output):
0x40080000:      0x401df000 0
0x40090000:      0x4040a000 0
...

On my x86, there were no libraries mapped at this virtual address, so
the full test is passing. But I get similar outputs on my x86 if I
change the memory range of the test and try to mmap from an already used
virtual address.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/697004

Title:
  mmap for fixed address fails for higher addresses

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to