From: Florian Weimer <fweimer@redhat.com>
To: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Nicholas Piggin <npiggin@gmail.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
linuxppc-dev@lists.ozlabs.org, linux-mm <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Andy Lutomirski <luto@amacapital.net>,
Dave Hansen <dave.hansen@intel.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-arch@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: POWER: Unexpected fault when writing to brk-allocated memory
Date: Tue, 7 Nov 2017 14:05:42 +0100 [thread overview]
Message-ID: <7fc1641b-361c-2ee2-c510-f7c64d173bf8@redhat.com> (raw)
In-Reply-To: <20171107114422.bgnm5k6w2zqjoazc@node.shutemov.name>
[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]
On 11/07/2017 12:44 PM, Kirill A. Shutemov wrote:
> On Tue, Nov 07, 2017 at 12:26:12PM +0100, Florian Weimer wrote:
>> On 11/07/2017 12:15 PM, Kirill A. Shutemov wrote:
>>
>>>> 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.
See the attached example.
Thanks,
Florian
[-- Attachment #2: maps.txt --]
[-- Type: text/plain, Size: 2684 bytes --]
7fffacc50000-7fffacc90000 rw-p 00000000 00:00 0
7fffacc90000-7fffaccf0000 r--p 00000000 fd:00 25167925 /usr/lib/locale/en_US.utf8/LC_CTYPE
7fffaccf0000-7fffacd00000 r--p 00000000 fd:00 25167928 /usr/lib/locale/en_US.utf8/LC_NUMERIC
7fffacd00000-7fffacd10000 r--p 00000000 fd:00 16798929 /usr/lib/locale/en_US.utf8/LC_TIME
7fffacd10000-7ffface40000 r--p 00000000 fd:00 25167924 /usr/lib/locale/en_US.utf8/LC_COLLATE
7ffface40000-7ffface50000 r--p 00000000 fd:00 16798927 /usr/lib/locale/en_US.utf8/LC_MONETARY
7ffface50000-7ffface60000 r--p 00000000 fd:00 2511 /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
7ffface60000-7ffface70000 r--p 00000000 fd:00 16798942 /usr/lib/locale/en_US.utf8/LC_PAPER
7ffface70000-7ffface80000 r--p 00000000 fd:00 25167927 /usr/lib/locale/en_US.utf8/LC_NAME
7ffface80000-7ffface90000 r--p 00000000 fd:00 16798924 /usr/lib/locale/en_US.utf8/LC_ADDRESS
7ffface90000-7fffacea0000 r--p 00000000 fd:00 16798928 /usr/lib/locale/en_US.utf8/LC_TELEPHONE
7fffacea0000-7fffaceb0000 r--p 00000000 fd:00 16798926 /usr/lib/locale/en_US.utf8/LC_MEASUREMENT
7fffaceb0000-7fffacec0000 r--s 00000000 fd:00 8390657 /usr/lib64/gconv/gconv-modules.cache
7fffacec0000-7fffad0d0000 r-xp 00000000 fd:00 8390335 /usr/lib64/libc-2.25.so
7fffad0d0000-7fffad0e0000 ---p 00210000 fd:00 8390335 /usr/lib64/libc-2.25.so
7fffad0e0000-7fffad0f0000 r--p 00210000 fd:00 8390335 /usr/lib64/libc-2.25.so
7fffad0f0000-7fffad100000 rw-p 00220000 fd:00 8390335 /usr/lib64/libc-2.25.so
7fffad100000-7fffad110000 r--p 00000000 fd:00 16798925 /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
7fffad110000-7fffad120000 r-xp 00000000 fd:00 63543 /usr/bin/cat
7fffad120000-7fffad130000 r--p 00000000 fd:00 63543 /usr/bin/cat
7fffad130000-7fffad140000 rw-p 00010000 fd:00 63543 /usr/bin/cat
7fffad140000-7fffad160000 r-xp 00000000 00:00 0 [vdso]
7fffad160000-7fffad1a0000 r-xp 00000000 fd:00 8390328 /usr/lib64/ld-2.25.so
7fffad1a0000-7fffad1b0000 r--p 00030000 fd:00 8390328 /usr/lib64/ld-2.25.so
7fffad1b0000-7fffad1c0000 rw-p 00040000 fd:00 8390328 /usr/lib64/ld-2.25.so
7fffc2cf0000-7fffc2d20000 rw-p 00000000 00:00 0 [stack]
7fffc8c10000-7fffc8c40000 rw-p 00000000 00:00 0 [heap]
next prev parent reply other threads:[~2017-11-07 13:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f251fc3e-c657-ebe8-acc8-f55ab4caa667@redhat.com>
[not found] ` <20171105231850.5e313e46@roar.ozlabs.ibm.com>
[not found] ` <871slcszfl.fsf@linux.vnet.ibm.com>
[not found] ` <20171106174707.19f6c495@roar.ozlabs.ibm.com>
[not found] ` <24b93038-76f7-33df-d02e-facb0ce61cd2@redhat.com>
[not found] ` <20171106192524.12ea3187@roar.ozlabs.ibm.com>
[not found] ` <d52581f4-8ca4-5421-0862-3098031e29a8@linux.vnet.ibm.com>
[not found] ` <546d4155-5b7c-6dba-b642-29c103e336bc@redhat.com>
2017-11-07 5:07 ` POWER: Unexpected fault when writing to brk-allocated memory Nicholas Piggin
2017-11-07 8:15 ` Florian Weimer
2017-11-07 9:24 ` Nicholas Piggin
2017-11-07 11:16 ` Kirill A. Shutemov
2017-11-07 11:15 ` Kirill A. Shutemov
2017-11-07 11:26 ` Florian Weimer
2017-11-07 11:44 ` Kirill A. Shutemov
2017-11-07 13:05 ` Florian Weimer [this message]
2017-11-07 13:16 ` Kirill A. Shutemov
2017-11-08 6:08 ` Michael Ellerman
2017-11-08 6:18 ` Florian Weimer
2017-11-07 11:56 ` Nicholas Piggin
2017-11-07 12:28 ` Kirill A. Shutemov
2017-11-07 13:33 ` Nicholas Piggin
2017-11-07 13:45 ` Aneesh Kumar K.V
2017-11-07 14:01 ` Kirill A. Shutemov
2017-11-09 17:15 ` Nicholas Piggin
2017-11-09 19:44 ` Matthew Wilcox
2017-11-10 1:26 ` Nicholas Piggin
[not found] ` <063D6719AE5E284EB5DD2968C1650D6DD00B84EF@AcuExch.aculab.com>
2017-11-11 10:30 ` Nicholas Piggin
2017-11-08 4:56 ` Michael Ellerman
2017-11-08 8:30 ` Kirill A. Shutemov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7fc1641b-361c-2ee2-c510-f7c64d173bf8@redhat.com \
--to=fweimer@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=dave.hansen@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=npiggin@gmail.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).