All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Brad Spengler <spender@grsecurity.net>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Borislav Petkov <bp@alien8.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Lutomirski <luto@kernel.org>,
	"linux-tip-commits@vger.kernel.org" 
	<linux-tip-commits@vger.kernel.org>
Subject: Re: [tip:x86/asm] x86/asm/entry: Add user_mode_ignore_vm86()
Date: Sun, 29 Mar 2015 09:08:16 +0200	[thread overview]
Message-ID: <20150329070816.GD18007@gmail.com> (raw)
In-Reply-To: <55155F9E.3030605@redhat.com>


* Denys Vlasenko <dvlasenk@redhat.com> wrote:

> On 03/24/2015 08:46 PM, Andy Lutomirski wrote:
> > On Tue, Mar 24, 2015 at 12:44 PM, Ingo Molnar <mingo@kernel.org> wrote:
> >>
> >> * Andy Lutomirski <luto@amacapital.net> wrote:
> >>
> >>> On Mon, Mar 23, 2015 at 5:26 AM, tip-bot for Andy Lutomirski
> >>> <tipbot@zytor.com> wrote:
> >>>> Commit-ID:  a67e7277d01ccfd39b0db5a198c2643cc19dd79c
> >>>> Gitweb:     http://git.kernel.org/tip/a67e7277d01ccfd39b0db5a198c2643cc19dd79c
> >>>> Author:     Andy Lutomirski <luto@kernel.org>
> >>>> AuthorDate: Wed, 18 Mar 2015 18:33:29 -0700
> >>>> Committer:  Ingo Molnar <mingo@kernel.org>
> >>>> CommitDate: Mon, 23 Mar 2015 11:13:36 +0100
> >>>>
> >>>> x86/asm/entry: Add user_mode_ignore_vm86()
> >>>>
> >>>> user_mode() is dangerous and user_mode_vm() has a confusing name.
> >>>>
> >>>> Add user_mode_ignore_vm86() (equivalent to current user_mode()).
> >>>> We'll change the small number of legitimate users of user_mode()
> >>>> to user_mode_ignore_vm86().
> >>>>
> >>>> Inspired by grsec, although this works rather differently.
> >>>
> >>> Ingo, does this mean that you changed your mind or do you still want
> >>> a patch to delete user_mode_ignore_vm86 and just use user_mode
> >>> everywhere instead?
> >>
> >> Would be still nice to have it as an add on patch, if you agree with
> >> my arguments.
> > 
> > Given that there are only a very small number of callers left and
> > they're all Obviously Correct (tm), I'm not too worried about it.
> > Maybe if we kill off __copy_to_user, I'll be inspired to kill off
> > user_mode_ignore_vm86 as well :)
> 
> 
> I was looking at the code involving this function and it looks
> like a much better name for user_mode_ignore_vm86() would be
> user_mode_cs().
> 
> Every time we use it, we check vm8086 mode just before it:
> 
> perf_event.c
> 
>         if (regs->flags & X86_VM_MASK)
>                 return 0x10 * regs->cs;
> 
>         if (user_mode_ignore_vm86(regs) && regs->cs != __USER_CS)
>                 return get_segment_base(regs->cs);
> 
> 
> traps.c (three similar instances):
> 
>         if (v8086_mode(regs)) {
> ...
>                 goto exit;
>         }
>         if (user_mode_ignore_vm86(regs))...
> 
> 
> "_ignore_vm86" part doesn't quite work as an explanation.
> user_mode_cs() would immediately tell me "do we have a user's cs?"

So what the function name wanted to express is something like this:

	if (user_mode_vm86_mode_already_checked_so_this_is_marginally_faster_but_dont_use_it_otherwise_because_that_would_be_a_roothole()) 
	{
		...
	}

but that name was considered somewhat long.

Thanks,

	Ingo

  reply	other threads:[~2015-03-29  7:08 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-19  1:33 [PATCH 0/9] user_mode_vm removal and associated cleanups Andy Lutomirski
2015-03-19  1:33 ` [PATCH 1/9] x86, fault: Use TASK_SIZE_MAX in is_prefetch Andy Lutomirski
2015-03-23 12:20   ` [tip:x86/asm] x86/mm/fault: Use TASK_SIZE_MAX in is_prefetch() tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 2/9] x86, perf: Fix incorrect TIF_IA32 check in code_segment_base Andy Lutomirski
2015-03-23 12:20   ` [tip:x86/asm] x86/asm/entry, perf: Fix incorrect TIF_IA32 check in code_segment_base() tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 3/9] x86: Add user_mode_ignore_vm86 Andy Lutomirski
2015-03-23 12:26   ` [tip:x86/asm] x86/asm/entry: Add user_mode_ignore_vm86() tip-bot for Andy Lutomirski
2015-03-23 19:38     ` Andy Lutomirski
2015-03-24 19:44       ` Ingo Molnar
2015-03-24 19:46         ` Andy Lutomirski
2015-03-27 13:48           ` Denys Vlasenko
2015-03-29  7:08             ` Ingo Molnar [this message]
2015-03-29  9:02               ` [PATCH] x86/asm/entry: Remove user_mode_ignore_vm86() Ingo Molnar
2015-03-29 12:13                 ` Borislav Petkov
2015-03-29 13:24                   ` Andy Lutomirski
2015-03-31 12:39                 ` [tip:x86/asm] " tip-bot for Ingo Molnar
2015-03-29 11:55               ` [tip:x86/asm] x86/asm/entry: Add user_mode_ignore_vm86() Borislav Petkov
2015-03-29 20:51               ` Denys Vlasenko
2015-03-19  1:33 ` [PATCH 4/9] x86, perf: Explicitly optimize vm86 handling in code_segment_base Andy Lutomirski
2015-03-23 12:26   ` [tip:x86/asm] x86/asm/entry, perf: Explicitly optimize vm86 handling in code_segment_base() tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 5/9] x86, traps: Use user_mode_ignore_vm86 where appropriate Andy Lutomirski
2015-03-23 12:27   ` [tip:x86/asm] x86/asm/entry: Use user_mode_ignore_vm86() " tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 6/9] x86: Make user_mode work correctly if regs came from vm86 mode Andy Lutomirski
2015-03-23 12:27   ` [tip:x86/asm] x86/asm/entry: Make user_mode() work correctly if regs came from VM86 mode tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 7/9] x86, treewide: s/user_mode_vm/user_mode/g Andy Lutomirski
2015-03-23 12:27   ` [tip:x86/asm] x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 8/9] x86: Remove user_mode_vm Andy Lutomirski
2015-03-23 12:28   ` [tip:x86/asm] x86/asm/entry: Remove user_mode_vm() tip-bot for Andy Lutomirski
2015-03-19  1:33 ` [PATCH 9/9] x86, traps: Replace some open-coded vm86 checks with v8086_mode Andy Lutomirski
2015-03-23 12:28   ` [tip:x86/asm] x86/asm/entry: Replace some open-coded VM86 checks with v8086_mode() checks tip-bot for Andy Lutomirski
2015-03-19  6:33 ` [PATCH 0/9] user_mode_vm removal and associated cleanups Ingo Molnar

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=20150329070816.GD18007@gmail.com \
    --to=mingo@kernel.org \
    --cc=bp@alien8.de \
    --cc=dvlasenk@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=luto@kernel.org \
    --cc=spender@grsecurity.net \
    --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.