All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	akpm@linux-foundation.org, mm-commits@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org, linux-next@vger.kernel.org,
	sfr@canb.auug.org.au, broonie@kernel.org
Subject: Re: ppc elf_map breakage with MAP_FIXED_NOREPLACE
Date: Wed, 24 Jan 2018 10:05:39 +0100	[thread overview]
Message-ID: <20180124090539.GH1526@dhcp22.suse.cz> (raw)
In-Reply-To: <2a05eaf2-20fd-57a8-d4bd-5a1fbf57686c@linux.vnet.ibm.com>

On Wed 24-01-18 10:39:41, Anshuman Khandual wrote:
> On 01/23/2018 09:36 PM, Michal Hocko wrote:
> > On Tue 23-01-18 21:28:28, Anshuman Khandual wrote:
> >> On 01/23/2018 06:15 PM, Michal Hocko wrote:
> >>> On Tue 23-01-18 16:55:18, Anshuman Khandual wrote:
> >>>> On 01/17/2018 01:37 PM, Michal Hocko wrote:
> >>>>> On Thu 11-01-18 15:38:37, Anshuman Khandual wrote:
> >>>>>> On 01/09/2018 09:43 PM, Michal Hocko wrote:
> >>>>> [...]
> >>>>>>> Did you manage to catch _who_ is requesting that anonymous mapping? Do
> >>>>>>> you need a help with the debugging patch?
> >>>>>>
> >>>>>> Not yet, will get back on this.
> >>>>>
> >>>>> ping?
> >>>>
> >>>> Hey Michal,
> >>>>
> >>>> Missed this thread, my apologies. This problem is happening only with
> >>>> certain binaries like 'sed', 'tmux', 'hostname', 'pkg-config' etc. As
> >>>> you had mentioned before the map request collision is happening on
> >>>> [10030000, 10040000] and [10030000, 10040000] ranges only which is
> >>>> just a single PAGE_SIZE. You asked previously that who might have
> >>>> requested the anon mapping which is already present in there ? Would
> >>>> not that be the same process itself ? I am bit confused.
> >>>
> >>> We are early in the ELF loading. If we are mapping over an existing
> >>> mapping then we are effectivelly corrupting it. In other words exactly
> >>> what this patch tries to prevent. I fail to see what would be a relevant
> >>> anon mapping this early and why it would be colliding with elf
> >>> segements.
> >>>
> >>>> Would it be
> >>>> helpful to trap all the mmap() requests from any of the binaries
> >>>> and see where we might have created that anon mapping ?
> >>>
> >>> Yeah, that is exactly what I was suggesting. Sorry for not being clear
> >>> about that.
> >>>
> >>
> >> Tried to instrument just for the 'sed' binary and dont see any where
> >> it actually requests the anon VMA which got hit when loading the ELF
> >> section which is strange. All these requested flags here already has
> >> MAP_FIXED_NOREPLACE (0x100000). Wondering from where the anon VMA
> >> actually came from.
> > 
> > Could you try to dump backtrace?
> 
> This is when it fails inside elf_map() function due to collision with
> existing anon VMA mapping.

This is not the interesting one. This is the ELF loader. And we know it
fails. We are really interested in the one _who_ installs the original
VMA. Because nothing should be really there.

It would be also very helpful to translate the backtrace with faddr2line
to get line numbers.

> [c000201c9ad07880] [c000000000b0b4c0] dump_stack+0xb0/0xf0 (unreliable)
> [c000201c9ad078c0] [c0000000003c4550] elf_map+0x2d0/0x310
> [c000201c9ad07b60] [c0000000003c6258] load_elf_binary+0x6f8/0x158c
> [c000201c9ad07c80] [c000000000352900] search_binary_handler+0xd0/0x270
> [c000201c9ad07d10] [c000000000354838] do_execveat_common.isra.31+0x658/0x890
> [c000201c9ad07df0] [c000000000354e80] SyS_execve+0x40/0x50
> [c000201c9ad07e30] [c00000000000b220] system_call+0x58/0x6c

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	akpm@linux-foundation.org, mm-commits@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org, linux-next@vger.kernel.org,
	sfr@canb.auug.org.au, broonie@kernel.org
Subject: Re: ppc elf_map breakage with MAP_FIXED_NOREPLACE
Date: Wed, 24 Jan 2018 10:05:39 +0100	[thread overview]
Message-ID: <20180124090539.GH1526@dhcp22.suse.cz> (raw)
In-Reply-To: <2a05eaf2-20fd-57a8-d4bd-5a1fbf57686c@linux.vnet.ibm.com>

On Wed 24-01-18 10:39:41, Anshuman Khandual wrote:
> On 01/23/2018 09:36 PM, Michal Hocko wrote:
> > On Tue 23-01-18 21:28:28, Anshuman Khandual wrote:
> >> On 01/23/2018 06:15 PM, Michal Hocko wrote:
> >>> On Tue 23-01-18 16:55:18, Anshuman Khandual wrote:
> >>>> On 01/17/2018 01:37 PM, Michal Hocko wrote:
> >>>>> On Thu 11-01-18 15:38:37, Anshuman Khandual wrote:
> >>>>>> On 01/09/2018 09:43 PM, Michal Hocko wrote:
> >>>>> [...]
> >>>>>>> Did you manage to catch _who_ is requesting that anonymous mapping? Do
> >>>>>>> you need a help with the debugging patch?
> >>>>>>
> >>>>>> Not yet, will get back on this.
> >>>>>
> >>>>> ping?
> >>>>
> >>>> Hey Michal,
> >>>>
> >>>> Missed this thread, my apologies. This problem is happening only with
> >>>> certain binaries like 'sed', 'tmux', 'hostname', 'pkg-config' etc. As
> >>>> you had mentioned before the map request collision is happening on
> >>>> [10030000, 10040000] and [10030000, 10040000] ranges only which is
> >>>> just a single PAGE_SIZE. You asked previously that who might have
> >>>> requested the anon mapping which is already present in there ? Would
> >>>> not that be the same process itself ? I am bit confused.
> >>>
> >>> We are early in the ELF loading. If we are mapping over an existing
> >>> mapping then we are effectivelly corrupting it. In other words exactly
> >>> what this patch tries to prevent. I fail to see what would be a relevant
> >>> anon mapping this early and why it would be colliding with elf
> >>> segements.
> >>>
> >>>> Would it be
> >>>> helpful to trap all the mmap() requests from any of the binaries
> >>>> and see where we might have created that anon mapping ?
> >>>
> >>> Yeah, that is exactly what I was suggesting. Sorry for not being clear
> >>> about that.
> >>>
> >>
> >> Tried to instrument just for the 'sed' binary and dont see any where
> >> it actually requests the anon VMA which got hit when loading the ELF
> >> section which is strange. All these requested flags here already has
> >> MAP_FIXED_NOREPLACE (0x100000). Wondering from where the anon VMA
> >> actually came from.
> > 
> > Could you try to dump backtrace?
> 
> This is when it fails inside elf_map() function due to collision with
> existing anon VMA mapping.

This is not the interesting one. This is the ELF loader. And we know it
fails. We are really interested in the one _who_ installs the original
VMA. Because nothing should be really there.

It would be also very helpful to translate the backtrace with faddr2line
to get line numbers.

> [c000201c9ad07880] [c000000000b0b4c0] dump_stack+0xb0/0xf0 (unreliable)
> [c000201c9ad078c0] [c0000000003c4550] elf_map+0x2d0/0x310
> [c000201c9ad07b60] [c0000000003c6258] load_elf_binary+0x6f8/0x158c
> [c000201c9ad07c80] [c000000000352900] search_binary_handler+0xd0/0x270
> [c000201c9ad07d10] [c000000000354838] do_execveat_common.isra.31+0x658/0x890
> [c000201c9ad07df0] [c000000000354e80] SyS_execve+0x40/0x50
> [c000201c9ad07e30] [c00000000000b220] system_call+0x58/0x6c

-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2018-01-24  9:07 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-05  0:20 mmotm 2018-01-04-16-19 uploaded akpm
2018-01-05  0:20 ` akpm
2018-01-05  6:43 ` Anshuman Khandual
2018-01-05  6:43   ` Anshuman Khandual
2018-01-05  8:46   ` Michal Hocko
2018-01-05  8:46     ` Michal Hocko
2018-01-07  6:49     ` Anshuman Khandual
2018-01-07  6:49       ` Anshuman Khandual
2018-01-07  9:02       ` ppc elf_map breakage with MAP_FIXED_NOREPLACE (was: Re: mmotm 2018-01-04-16-19 uploaded) Michal Hocko
2018-01-07  9:02         ` Michal Hocko
2018-01-07 11:26         ` Michael Ellerman
2018-01-07 11:26           ` Michael Ellerman
2018-01-08  3:02           ` ppc elf_map breakage with MAP_FIXED_NOREPLACE Anshuman Khandual
2018-01-08  3:02             ` Anshuman Khandual
2018-01-08 22:12             ` Michael Ellerman
2018-01-08 22:12               ` Michael Ellerman
2018-01-08 22:12               ` Michael Ellerman
2018-01-09 11:48               ` Anshuman Khandual
2018-01-09 11:48                 ` Anshuman Khandual
2018-01-09 16:13                 ` Michal Hocko
2018-01-09 16:13                   ` Michal Hocko
2018-01-11 10:08                   ` Anshuman Khandual
2018-01-11 10:08                     ` Anshuman Khandual
2018-01-17  8:07                     ` Michal Hocko
2018-01-17  8:07                       ` Michal Hocko
2018-01-23 11:25                       ` Anshuman Khandual
2018-01-23 11:25                         ` Anshuman Khandual
2018-01-23 12:45                         ` Michal Hocko
2018-01-23 12:45                           ` Michal Hocko
2018-01-23 15:58                           ` Anshuman Khandual
2018-01-23 15:58                             ` Anshuman Khandual
2018-01-23 16:06                             ` Michal Hocko
2018-01-23 16:06                               ` Michal Hocko
2018-01-24  5:09                               ` Anshuman Khandual
2018-01-24  5:09                                 ` Anshuman Khandual
2018-01-24  9:05                                 ` Michal Hocko [this message]
2018-01-24  9:05                                   ` Michal Hocko
2018-01-26 12:34                                   ` Anshuman Khandual
2018-01-26 12:34                                     ` Anshuman Khandual
2018-01-26 14:04                                     ` Michal Hocko
2018-01-26 14:04                                       ` Michal Hocko
2018-01-29  2:47                                       ` Anshuman Khandual
2018-01-29  2:47                                         ` Anshuman Khandual
2018-01-29  5:32                                         ` Anshuman Khandual
2018-01-29  5:32                                           ` Anshuman Khandual
2018-01-29 13:22                                           ` Michal Hocko
2018-01-29 13:22                                             ` Michal Hocko
2018-01-30  3:35                                             ` Michael Ellerman
2018-01-30  3:35                                               ` Michael Ellerman
2018-01-30  9:42                                               ` Michal Hocko
2018-01-30  9:42                                                 ` Michal Hocko
2018-01-31  5:05                                                 ` Anshuman Khandual
2018-01-31  5:05                                                   ` Anshuman Khandual
2018-01-31 13:19                                                   ` Michal Hocko
2018-01-31 13:19                                                     ` Michal Hocko
2018-02-01  3:13                                                     ` Anshuman Khandual
2018-02-01  3:13                                                       ` Anshuman Khandual
2018-02-01 13:10                                                       ` Michal Hocko
2018-02-01 13:10                                                         ` Michal Hocko
2018-02-01 13:40                                                         ` Michal Hocko
2018-02-01 13:40                                                           ` Michal Hocko
2018-02-01 20:55                                                           ` Kees Cook
2018-02-01 20:55                                                             ` Kees Cook
2018-02-13 10:04                                                             ` [RFC PATCH] elf: enforce MAP_FIXED on overlaying elf segments (was: Re: ppc elf_map breakage with MAP_FIXED_NOREPLACE) Michal Hocko
2018-02-13 10:04                                                               ` Michal Hocko
2018-02-13 10:04                                                               ` Michal Hocko
2018-02-14 16:30                                                               ` Khalid Aziz
2018-02-14 16:30                                                                 ` Khalid Aziz
2018-02-01 13:48                                                       ` ppc elf_map breakage with MAP_FIXED_NOREPLACE Michal Hocko
2018-02-01 13:48                                                         ` Michal Hocko
2018-02-01 21:06                                                         ` Kees Cook
2018-02-01 21:06                                                           ` Kees Cook
2018-02-12 14:48                                                         ` Michal Hocko
2018-02-12 14:48                                                           ` Michal Hocko
2018-02-13  1:02                                                           ` Anshuman Khandual
2018-02-13  1:02                                                             ` Anshuman Khandual
2018-02-13  6:49                                                         ` Anshuman Khandual
2018-02-13  6:49                                                           ` Anshuman Khandual
2018-02-13 10:00                                                           ` Michal Hocko
2018-02-13 10:00                                                             ` Michal Hocko
2018-01-05 12:14   ` mmotm 2018-01-04-16-19 uploaded Michal Hocko
2018-01-05 12:14     ` Michal Hocko

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=20180124090539.GH1526@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=broonie@kernel.org \
    --cc=khandual@linux.vnet.ibm.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=sfr@canb.auug.org.au \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.