[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <A78C989F6D9628469189715575E55B23696641B6@IRSMSX103.ger.corp.intel.com>
Date: Wed, 21 Mar 2018 07:01:54 +0000
From: "Metzger, Markus T" <markus.t.metzger@...el.com>
To: Andy Lutomirski <luto@...nel.org>,
"Bae, Chang Seok" <chang.seok.bae@...el.com>
CC: X86 ML <x86@...nel.org>, Andi Kleen <ak@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>,
"Luck, Tony" <tony.luck@...el.com>,
"Shankar, Ravi V" <ravi.v.shankar@...el.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 14/15] x86/fsgsbase/64: Support legacy behavior when
FS/GS updated by ptracer
> -----Original Message-----
> From: Andy Lutomirski [mailto:luto@...nel.org]
> Sent: 21 March 2018 01:47
Hello Andy,
> I retract this particular comment. But I still think that all this complexity needs to
> be more clearly justified. My objection to the old approach wasn't that I thought
> it was obviously wrong -- I thought that someone needed to survey existing
> ptrace() users and see if anyone needed the fancier code that you're adding. Did
> you find something that needs this fancy code?
There are 3 cases:
- only FS changed, e.g. "p $fs = ..."
- only FS_BASE changed, e.g. "p $fs_base = ..."
- both change, e.g. "p foo()" when restoring the original register state on return
from the inferior call
The ptracer may use SETREGS in all 3 cases, even though only a single register changed.
For case 1, it might make sense to change FS_BASE as a side-effect.
For case 2, we'd only want to change FS_BASE and leave FS.
For case 3, we'd want both FS and FS_BASE to be set to the ptracer-provided values.
Does that make sense?
Thanks,
Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928
Powered by blists - more mailing lists