linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Garnier <thgarnie@google.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Kernel Hardening <kernel-hardening@lists.openwall.com>,
	Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	Francis Deslauriers <francis.deslauriers@efficios.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Guenter Roeck <linux@roeck-us.net>,
	nixiaoming <nixiaoming@huawei.com>,
	James Hogan <jhogan@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 21/27] x86/ftrace: Adapt function tracing for PIE support
Date: Mon, 4 Jun 2018 14:06:03 -0700	[thread overview]
Message-ID: <CAJcbSZG1dVBVeOjEDeTm4mwXS60wMi-5ej_FB+YyS7iwXoebOQ@mail.gmail.com> (raw)
In-Reply-To: <20180604161612.6d48d8d2@gandalf.local.home>

On Mon, Jun 4, 2018 at 1:16 PM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Tue, 29 May 2018 15:15:22 -0700
> Thomas Garnier <thgarnie@google.com> wrote:
>
> > When using -fPIE/PIC with function tracing, the compiler generates a
> > call through the GOT (call *__fentry__@GOTPCREL). This instruction
> > takes 6 bytes instead of 5 on the usual relative call.
> >
> > If PIE is enabled, replace the 6th byte of the GOT call by a 1-byte nop
> > so ftrace can handle the previous 5-bytes as before.
> >
> > Position Independent Executable (PIE) support will allow to extend the
> > KASLR randomization range 0xffffffff80000000.
>
> I thought you were going to write a update to recordmcount.c to handle
> this at compile time?

I can correctly calculate the start of the call instruction with
recordmcount (no need for addr-1) but I still need to handle the
different size of the instructions. I don't think I can completely
replace the GOT call with a relative call. Maybe I am missing
something on the way recordmcount is used? Should it replace all
mcount locations with a nop slide? Why is it done at runtime too then?

>
> -- Steve
>
> >
> > Signed-off-by: Thomas Garnier <thgarnie@google.com>
> > ---
> >



-- 
Thomas

  reply	other threads:[~2018-06-04 21:06 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20180529221625.33541-1-thgarnie@google.com>
2018-05-29 22:15 ` [PATCH v4 01/27] x86/crypto: Adapt assembly for PIE support Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 02/27] x86: Use symbol name on bug table " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 03/27] x86: Use symbol name in jump " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 04/27] x86: Add macro to get symbol address " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 05/27] x86: relocate_kernel - Adapt assembly " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 06/27] x86/entry/64: " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 07/27] x86: pm-trace - " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 08/27] x86/CPU: " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 09/27] x86/acpi: " Thomas Garnier
2018-05-30  8:19   ` Rafael J. Wysocki
2018-05-29 22:15 ` [PATCH v4 10/27] x86/boot/64: " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 11/27] x86/power/64: " Thomas Garnier
2018-05-30  8:20   ` Rafael J. Wysocki
2018-05-29 22:15 ` [PATCH v4 12/27] x86/paravirt: " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 13/27] x86/boot/64: Build head64.c as mcmodel large when PIE is enabled Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 14/27] x86/percpu: Adapt percpu for PIE support Thomas Garnier
2018-05-29 22:46   ` Christopher Lameter
2018-05-29 23:08     ` Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 15/27] compiler: Option to default to hidden symbols Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 16/27] compiler: Option to add PROVIDE_HIDDEN replacement for weak symbols Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 17/27] x86/relocs: Handle PIE relocations Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 18/27] xen: Adapt assembly for PIE support Thomas Garnier
2018-06-01 15:44   ` Boris Ostrovsky
2018-06-01 15:53     ` Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 19/27] kvm: " Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 20/27] x86: Support global stack cookie Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 21/27] x86/ftrace: Adapt function tracing for PIE support Thomas Garnier
2018-06-04 20:16   ` Steven Rostedt
2018-06-04 21:06     ` Thomas Garnier [this message]
2018-06-04 21:44       ` Steven Rostedt
2018-06-05 16:56         ` Thomas Garnier
2018-06-05 21:19           ` Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 22/27] x86/modules: Add option to start module section after kernel Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 23/27] x86/modules: Adapt module loading for PIE support Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 24/27] x86/mm: Make the x86 GOT read-only Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 25/27] x86/pie: Add option to build the kernel as PIE Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 26/27] x86/relocs: Add option to generate 64-bit relocations Thomas Garnier
2018-05-29 22:15 ` [PATCH v4 27/27] x86/kaslr: Add option to extend KASLR range from 1GB to 3GB Thomas Garnier

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=CAJcbSZG1dVBVeOjEDeTm4mwXS60wMi-5ej_FB+YyS7iwXoebOQ@mail.gmail.com \
    --to=thgarnie@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=francis.deslauriers@efficios.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=jhogan@kernel.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=mingo@redhat.com \
    --cc=nixiaoming@huawei.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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).