From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: Query: ARM64: A random failure with hugetlbfs linked mmap() of a stack area
Date: Fri, 24 Mar 2017 18:16:53 +0000 [thread overview]
Message-ID: <20170324181652.GC10746@leverpostej> (raw)
In-Reply-To: <2b8bf63f-3e20-aa26-2d75-83aa2ab35cde@redhat.com>
On Fri, Mar 24, 2017 at 11:32:58PM +0530, Pratyush Anand wrote:
>
>
> On Friday 24 March 2017 10:55 PM, Mark Rutland wrote:
> >>Moreover, even if mmap() in test routine crosses over many other
> >>text/rd/rw area mappings, should it fail? We are not writing
> >>anything to mmaped area. So, why should just a creation of another
> >>map result in segmentation fault?
> >The new mapping replaces the old mappings that it clobbers, so all the
> >old data/code is gone. Loads or instruction fetches will see data from
> >the new mapping.
>
> Humm..I see..But in that case mmap() should have failed and return
> MAP_FAILED instead of remapping and which could cause a segfault.
That does nto appear to be the case. As per the mmap man page:
MAP_FIXED
Don't interpret addr as a hint: place the mapping at exactly that
address. addr must be a multiple of the page size. If the memory
region specified by addr and len overlaps pages of any existing
mapping(s), then the overlapped part of the existing mapping(s)
will be discarded. If the specified address cannot be used,
mmap() will fail. Because requiring a fixed address for a mapping
is less portable, the use of this option is discouraged.
[...]
> >For your report, it's not clear to me what's going on. Did you take the
> >/proc/pid/maps data from teh exact same process that the segfault
> >occurred in? and/or did you disable ASLR?
>
> Yes, it is from the same process.
That is troubling; I cannot explain that.
> Since, I was not able to reproduce with gdb so, I had inserted a
> scanf() just before mmap() and then had read /proc/pid/maps.
That might be because GDB disables ASLR by default. Did you re-enable
ASLR within GDB with:
set disable-randomization off
If not, could you give that a go?
Thanks,
Mark.
next prev parent reply other threads:[~2017-03-24 18:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-24 14:21 Query: ARM64: A random failure with hugetlbfs linked mmap() of a stack area Pratyush Anand
2017-03-24 16:15 ` Mark Rutland
2017-03-24 16:41 ` Pratyush Anand
2017-03-24 17:25 ` Mark Rutland
2017-03-24 18:02 ` Pratyush Anand
2017-03-24 18:16 ` Mark Rutland [this message]
2017-03-25 12:14 ` Pratyush Anand
2017-03-27 12:18 ` Mark Rutland
2017-03-27 13:20 ` Pratyush Anand
2017-03-27 17:45 ` Mark Rutland
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=20170324181652.GC10746@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.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