Re: POWER: Unexpected fault when writing to brk-allocated memory
From: Kirill A. Shutemov <hidden>
Date: 2017-11-07 13:16:21
Also in:
linux-arch, linux-mm, lkml
From: Kirill A. Shutemov <hidden>
Date: 2017-11-07 13:16:21
Also in:
linux-arch, linux-mm, lkml
On Tue, Nov 07, 2017 at 02:05:42PM +0100, Florian Weimer wrote:
On 11/07/2017 12:44 PM, Kirill A. Shutemov wrote:quoted
On Tue, Nov 07, 2017 at 12:26:12PM +0100, Florian Weimer wrote:quoted
On 11/07/2017 12:15 PM, Kirill A. Shutemov wrote:quoted
quoted
First of all, using addr and MAP_FIXED to develop our heuristic can never really give unchanged ABI. It's an in-band signal. brk() is a good example that steadily keeps incrementing address, so depending on malloc usage and address space randomization, you will get a brk() that ends exactly at 128T, then the next one will be > DEFAULT_MAP_WINDOW, and it will switch you to 56 bit address space.No, it won't. You will hit stack first.That's not actually true on POWER in some cases. See the process maps I posted here: <https://marc.info/?l=linuxppc-embedded&m=150988538106263&w=2>Hm? I see that in all three cases the [stack] is the last mapping. Do I miss something?Hah, I had not noticed. Occasionally, the order of heap and stack is reversed. This happens in approximately 15% of the runs.
Heh. I guess ASLR on Power is too fancy :) That's strange layout. It doesn't give that much (relatively speaking) virtual address space for both stack and heap to grow. -- Kirill A. Shutemov