[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140507163443.GA16034@gmail.com>
Date: Wed, 7 May 2014 18:34:43 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Mathias Krause <minipli@...glemail.com>
Cc: Jiri Olsa <jolsa@...hat.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Paul Mackerras <paulus@...ba.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] perf x86: Fix perf to use non-executable stack, again
* Mathias Krause <minipli@...glemail.com> wrote:
> On 27 April 2014 18:16, Jiri Olsa <jolsa@...hat.com> wrote:
> > On Sun, Apr 27, 2014 at 06:07:30PM +0200, Mathias Krause wrote:
> >> On 27 April 2014 12:39, Jiri Olsa <jolsa@...hat.com> wrote:
> >> > On Sun, Apr 27, 2014 at 12:03:50PM +0200, Mathias Krause wrote:
> >> > [...]
> >> >> 2/ What if somebody tries to add/link code to perf that makes use of
> >> >> nested functions? That'll make perf fail as the trampoline code
> >> >> generated by gcc won't be executable due to the enforced
> >> >> non-executable stack by -Wl,-z,noexecstack.
> >> >
> >> > I guess in that case he would change the Makefile as well?
> >>
> >> Not necessarily. What if a later version of a library already used by
> >> perf needs an executable stack because it now makes use of nested
> >> functions? Unlikely, though in that case no change to perf would be
> >> made, but perf would then require an executable stack, too.
> >
> > I tried you can run binary with noexecstack having dynamic
> > library dependency wit execstack
>
> Well, it might work on your system but it won't work on mine. See this
> bug, why: https://sourceware.org/bugzilla/show_bug.cgi?id=12492
>
> > [...]
> >>
> >> > or insert test case for perf's executable stack to 'perf test'
> >>
> >> That won't work for systems preventing processes getting an executable
> >> stack in the first place. That was the reason I stumbled about the
> >
> > could be disabled on such systems
>
> Of course, it could be disabled, i.e. I could allow perf to get an
> executable stack. Though, I don't like my stacks to be executable ;)
Absolutely. Using an executable stack is really just a legacy thing,
it should be avoided (and I'd say it must be avoided) in any modern
application.
Thanks,
Ingo
--
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