All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: "H. Peter Anvin, Intel" <h.peter.anvin@intel.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Lutomirski <luto@kernel.org>,
	"Chang S . Bae" <chang.seok.bae@intel.com>,
	"Markus T . Metzger" <markus.t.metzger@intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Josh Poimboeuf <jpoimboe@redhat.com>
Subject: Re: [PATCH v3 0/7] x86/ptrace: regset access to the GDT and LDT
Date: Fri, 22 Jun 2018 03:58:51 +0200	[thread overview]
Message-ID: <20180622015851.GA10254@gmail.com> (raw)
In-Reply-To: <20180621211754.12757-1-h.peter.anvin@intel.com>


* H. Peter Anvin, Intel <h.peter.anvin@intel.com> wrote:

> From: "H. Peter Anvin" <hpa@linux.intel.com>
> 
> Give a debugger access to the visible part of the GDT and LDT.  This
> allows a debugger to find out what a particular segment descriptor
> corresponds to; e.g. if %cs is 16, 32, or 64 bits.
> 
> v3:
> 	Requalify LDT segments for selectors that have actually changed.
> 
> v2:
> 	Add missing change to elf.h for the very last patch.
> 
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Andy Lutomirski <luto@kernel.org>
> Cc: Chang S. Bae <chang.seok.bae@intel.com>
> Cc: Markus T. Metzger <markus.t.metzger@intel.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> 
>  arch/x86/Kconfig               |   4 +
>  arch/x86/include/asm/desc.h    |  24 +++-
>  arch/x86/include/asm/ldt.h     |  16 +++
>  arch/x86/include/asm/segment.h |  10 ++
>  arch/x86/kernel/Makefile       |   3 +-
>  arch/x86/kernel/ldt.c          | 283 ++++++++++++++++++++++++++++++++---------
>  arch/x86/kernel/ptrace.c       | 103 ++++++++++++++-
>  arch/x86/kernel/tls.c          | 102 +++++----------
>  arch/x86/kernel/tls.h          |   8 +-
>  include/uapi/linux/elf.h       |   2 +
>  10 files changed, 413 insertions(+), 142 deletions(-)

Ok, this looks mostly good to me at a quick glance, but could you please do one 
more iteration and more explicitly describe where you change/extend existing ABIs?

I.e. instead of a terse and somewhat vague summary:

> x86/tls,ptrace: provide regset access to the GDT
>
> Give a debugger access to the visible part of the GDT and LDT.  This
> allows a debugger to find out what a particular segment descriptor
> corresponds to; e.g. if %cs is 16, 32, or 64 bits.

Please make it really explicit how the ABI is affected, both in the title and in 
the description, and also _explain_ how this helps us over what we had before, 
plus also list limitations of the new ABI.

I.e. something like:

   x86/tls, ptrace: Extend the ptrace ABI with the new REGSET_GDT method

   Add the new REGSET_GDT ptrace variant to PTRACE_{GET|SET}REGSET,
   to give read and write access to the GDT:

   - Previously only certain parts of the GDT were visible, and only via random
     ABIs and instructions - there was no architectured access to all of it.

   - The SETREGSET variant is only allowed to change the TLS area of the GDT.

(or so.)

This is important not just for documentation and library support purposes, but 
also to be able to review it properly, to match 'intent' to 'implementation'.

(It might also help later on in finding bugs/quirks, if any.)

Please do this for all patches in the series that change the ABI.

Thanks,

	Ingo

  parent reply	other threads:[~2018-06-22  1:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-21 21:17 [PATCH v3 0/7] x86/ptrace: regset access to the GDT and LDT H. Peter Anvin, Intel
2018-06-21 21:17 ` [PATCH v3 1/7] x86/ldt: refresh %fs and %gs in refresh_ldt_segments() H. Peter Anvin, Intel
2018-06-22 14:24   ` Andy Lutomirski
2018-06-22 18:29     ` H. Peter Anvin
2018-06-22 18:47       ` Andy Lutomirski
2018-06-27 18:19         ` Andy Lutomirski
2018-06-27 18:22           ` hpa
2018-06-27 18:33             ` hpa
2018-06-28 20:33             ` Andy Lutomirski
2018-06-28 20:39               ` hpa
2018-06-21 21:17 ` [PATCH v3 2/7] x86/ldt: use a common value for read_default_ldt() H. Peter Anvin, Intel
2018-06-21 21:17 ` [PATCH v3 3/7] x86: move fill_user_desc() from tls.c to desc.h and add validity check H. Peter Anvin, Intel
2018-06-21 21:17 ` [PATCH v3 4/7] x86/tls: create an explicit config symbol for the TLS area in the GDT H. Peter Anvin, Intel
2018-06-21 21:17 ` [PATCH v3 5/7] x86/segment: add #define for the last user-visible GDT slot H. Peter Anvin, Intel
2018-06-21 21:17 ` [PATCH v3 6/7] x86/tls,ptrace: provide regset access to the GDT H. Peter Anvin, Intel
2018-06-22 14:43   ` Andy Lutomirski
2018-06-21 21:17 ` [PATCH v3 7/7] x86/ldt,ptrace: provide regset access to the LDT H. Peter Anvin, Intel
2018-06-22 14:49   ` Andy Lutomirski
2018-06-22 15:05     ` hpa
2018-06-22 15:30       ` Andy Lutomirski
2018-06-22  1:58 ` Ingo Molnar [this message]
2018-06-22  2:25   ` [PATCH v3 0/7] x86/ptrace: regset access to the GDT and LDT hpa

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=20180622015851.GA10254@gmail.com \
    --to=mingo@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=chang.seok.bae@intel.com \
    --cc=h.peter.anvin@intel.com \
    --cc=hpa@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=markus.t.metzger@intel.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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 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.