All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Andy Lutomirski <luto@kernel.org>, X86 ML <x86@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Brian Gerst <brgerst@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>, Willy Tarreau <w@1wt.eu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 1/3] x86/entry/64: Refactor IRQ stacks and make then NMI-safe
Date: Fri, 24 Jul 2015 12:25:03 +0200	[thread overview]
Message-ID: <20150724102503.GA19090@nazgul.tnic> (raw)
In-Reply-To: <CALCETrUtaTGA0uq5t_VbbPB-VwOp_vswdUjenZZOS0JNdKMqCA@mail.gmail.com>

On Thu, Jul 23, 2015 at 11:08:39PM -0700, Andy Lutomirski wrote:
> To be obviously safe against any local exception, we want a single
> instruction that will change %rsp and some in-memory flag at the same
> time.  There aren't a whole lot of candidates.  Cmpxchg isn't useful
> (cmpxchg with a memory operand doesn't modify its register operand).

Why would you even need that?

You do LOCK; CMPXCHG on a per_cpu variable and then test ZF? I.e., use
it as a mutex in asm. With ZF=1, you switch stacks, with ZF=0, you
busy-wait ...

Or am I missing something?

This way you serialize all irq stack switchers...

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.
--

  reply	other threads:[~2015-07-24 10:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23 22:37 [PATCH 0/3] x86_64: Make int3 non-magical Andy Lutomirski
2015-07-23 22:37 ` [PATCH 1/3] x86/entry/64: Refactor IRQ stacks and make then NMI-safe Andy Lutomirski
2015-07-24  6:08   ` Andy Lutomirski
2015-07-24 10:25     ` Borislav Petkov [this message]
2015-07-24 18:02       ` Andy Lutomirski
2015-07-25  4:16         ` Borislav Petkov
2015-07-25  4:28           ` Andy Lutomirski
2015-07-25  4:32             ` Borislav Petkov
2015-07-25  4:59               ` Andy Lutomirski
2015-07-25  8:39                 ` Borislav Petkov
2015-07-25 17:56                 ` Linus Torvalds
2015-07-25 17:59                   ` Andy Lutomirski
2015-07-25 18:12                     ` Linus Torvalds
2015-08-05  8:59   ` Ingo Molnar
2015-08-05 18:24     ` Andy Lutomirski
2015-08-05 18:27       ` Steven Rostedt
2015-08-05 18:32         ` Andy Lutomirski
2015-08-22 13:55           ` Ingo Molnar
2015-07-23 22:37 ` [PATCH 2/3] x86/entry/64: Teach idtentry to use the IRQ stack Andy Lutomirski
2015-07-23 22:37 ` [PATCH 3/3] x86/entry/64: Move #BP from IST to " Andy Lutomirski
2015-07-24 11:02   ` Borislav Petkov
2015-07-23 22:39 ` [PATCH 0/3] x86_64: Make int3 non-magical Andy Lutomirski

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=20150724102503.GA19090@nazgul.tnic \
    --to=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=luto@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=w@1wt.eu \
    --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 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.