[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20121015170600.GD30907@arm.com>
Date: Mon, 15 Oct 2012 18:06:00 +0100
From: Catalin Marinas <catalin.marinas@....com>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: Daniel Mack <zonque@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Russell King - ARM Linux <linux@....linux.org.uk>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [revert request for commit 9fff2fa] Re: [git pull] signals
pile 3
On Mon, Oct 15, 2012 at 05:27:32PM +0100, Al Viro wrote:
> On Mon, Oct 15, 2012 at 05:07:10PM +0100, Catalin Marinas wrote:
> > On Sun, Oct 14, 2012 at 08:56:11PM +0100, Al Viro wrote:
> > > On Sun, Oct 14, 2012 at 08:24:03PM +0100, Al Viro wrote:
> > >
> > > > Russell, could you recall what those had been about? I'm not sure if that
> > > > had been oopsable that far back (again, oops scenario is userland stack
> > > > page getting swapped out before we get to start_thread(), leading to
> > > > direct read from an absent page in start_thread() by plain ldr, without
> > > > anything in exception table about that insn), but it looks very odd
> > > > regardless of that problem.
> > >
> > > BTW, arm64 has copied that logics, so it also seems to be unsafe and very
> > > odd - there we definitely have only ELF to cope with. arm64 folks Cc'd...
> >
> > Good point. We don't need this on arm64 and probably neither on arm (at
> > least since EABI).
> >
> > Setting x0 may cause other issues as well. The dynamic loader simply
> > ignores the startup registers but for static binaries the _start code in
> > glibc expects r0 to contain a function pointer to be registered with
> > atexit() in __libc_start_main() or NULL. Since we pass argc in there,
> > for static binaries the rtld_fini argument to __libc_start_main() is
> > neither NULL nor something meaningful.
>
> The value left there by start_thread() will not reach the userland anyway...
Ah, yes. So not causing any user issues (apart from the possible fault
in the kernel while accessing the user stack).
--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists