All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/extable: Add a comment about early exception handlers
@ 2016-04-04 15:46 Andy Lutomirski
  2016-04-04 16:16 ` Borislav Petkov
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Andy Lutomirski @ 2016-04-04 15:46 UTC (permalink / raw)
  To: X86 ML
  Cc: Paolo Bonzini, Peter Zijlstra, KVM list, Arjan van de Ven,
	xen-devel, linux-kernel, Linus Torvalds, Andrew Morton,
	Borislav Petkov, Andy Lutomirski

Borislav asked for a comment explaining why all exception handlers are
allowed early.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 arch/x86/mm/extable.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index 98b5f45d9d79..36fe03bc81ee 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -132,6 +132,20 @@ void __init early_fixup_exception(struct pt_regs *regs, int trapnr)
 	if (regs->cs != __KERNEL_CS)
 		goto fail;
 
+	/*
+	 * The full exception fixup machinery is available as soon as
+	 * the early IDT is loaded.  This means that it is the
+	 * responsibility of extable users to either function correctly
+	 * when handlers are invoked early or to simply avoid causing
+	 * exceptions before they're ready to handle them.
+	 *
+	 * This is better than filtering which handlers can be used,
+	 * because refusing to call a handler here is guaranteed to
+	 * result in a hard-to-debug panic.
+	 *
+	 * Keep in mind that not all vectors actually get here.  Early
+	 * fage faults, for example, are special.
+	 */
 	if (fixup_exception(regs, trapnr))
 		return;
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86/extable: Add a comment about early exception handlers
  2016-04-04 15:46 [PATCH] x86/extable: Add a comment about early exception handlers Andy Lutomirski
@ 2016-04-04 16:16 ` Borislav Petkov
  2016-04-04 16:16 ` Borislav Petkov
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Borislav Petkov @ 2016-04-04 16:16 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: X86 ML, Paolo Bonzini, Peter Zijlstra, KVM list,
	Arjan van de Ven, xen-devel, linux-kernel, Linus Torvalds,
	Andrew Morton

On Mon, Apr 04, 2016 at 08:46:22AM -0700, Andy Lutomirski wrote:
> Borislav asked for a comment explaining why all exception handlers are
> allowed early.
> 
> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> ---
>  arch/x86/mm/extable.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
> index 98b5f45d9d79..36fe03bc81ee 100644
> --- a/arch/x86/mm/extable.c
> +++ b/arch/x86/mm/extable.c
> @@ -132,6 +132,20 @@ void __init early_fixup_exception(struct pt_regs *regs, int trapnr)
>  	if (regs->cs != __KERNEL_CS)
>  		goto fail;
>  
> +	/*
> +	 * The full exception fixup machinery is available as soon as
> +	 * the early IDT is loaded.  This means that it is the
> +	 * responsibility of extable users to either function correctly
> +	 * when handlers are invoked early or to simply avoid causing
> +	 * exceptions before they're ready to handle them.
> +	 *
> +	 * This is better than filtering which handlers can be used,
> +	 * because refusing to call a handler here is guaranteed to
> +	 * result in a hard-to-debug panic.
> +	 *
> +	 * Keep in mind that not all vectors actually get here.  Early
> +	 * fage faults, for example, are special.
> +	 */
>  	if (fixup_exception(regs, trapnr))
>  		return;
>  
> -- 

Thanks!

Reviewed-by: Borislav Petkov <bp@suse.de>

-- 
Regards/Gruss,
    Boris.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86/extable: Add a comment about early exception handlers
  2016-04-04 15:46 [PATCH] x86/extable: Add a comment about early exception handlers Andy Lutomirski
  2016-04-04 16:16 ` Borislav Petkov
@ 2016-04-04 16:16 ` Borislav Petkov
  2016-04-13 11:46 ` [tip:x86/asm] " tip-bot for Andy Lutomirski
  2016-04-13 11:46 ` tip-bot for Andy Lutomirski
  3 siblings, 0 replies; 5+ messages in thread
From: Borislav Petkov @ 2016-04-04 16:16 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: KVM list, Peter Zijlstra, Linus Torvalds, X86 ML, linux-kernel,
	xen-devel, Paolo Bonzini, Andrew Morton, Arjan van de Ven

On Mon, Apr 04, 2016 at 08:46:22AM -0700, Andy Lutomirski wrote:
> Borislav asked for a comment explaining why all exception handlers are
> allowed early.
> 
> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> ---
>  arch/x86/mm/extable.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
> index 98b5f45d9d79..36fe03bc81ee 100644
> --- a/arch/x86/mm/extable.c
> +++ b/arch/x86/mm/extable.c
> @@ -132,6 +132,20 @@ void __init early_fixup_exception(struct pt_regs *regs, int trapnr)
>  	if (regs->cs != __KERNEL_CS)
>  		goto fail;
>  
> +	/*
> +	 * The full exception fixup machinery is available as soon as
> +	 * the early IDT is loaded.  This means that it is the
> +	 * responsibility of extable users to either function correctly
> +	 * when handlers are invoked early or to simply avoid causing
> +	 * exceptions before they're ready to handle them.
> +	 *
> +	 * This is better than filtering which handlers can be used,
> +	 * because refusing to call a handler here is guaranteed to
> +	 * result in a hard-to-debug panic.
> +	 *
> +	 * Keep in mind that not all vectors actually get here.  Early
> +	 * fage faults, for example, are special.
> +	 */
>  	if (fixup_exception(regs, trapnr))
>  		return;
>  
> -- 

Thanks!

Reviewed-by: Borislav Petkov <bp@suse.de>

-- 
Regards/Gruss,
    Boris.

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

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [tip:x86/asm] x86/extable: Add a comment about early exception handlers
  2016-04-04 15:46 [PATCH] x86/extable: Add a comment about early exception handlers Andy Lutomirski
  2016-04-04 16:16 ` Borislav Petkov
  2016-04-04 16:16 ` Borislav Petkov
@ 2016-04-13 11:46 ` tip-bot for Andy Lutomirski
  2016-04-13 11:46 ` tip-bot for Andy Lutomirski
  3 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Andy Lutomirski @ 2016-04-13 11:46 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: hpa, pbonzini, bp, mingo, Xen-devel, kvm, arjan, linux-kernel,
	akpm, tglx, peterz, boris.ostrovsky, torvalds, luto, bp

Commit-ID:  60a0e2039e3df6c0a2b896bd78af36ff36fb629c
Gitweb:     http://git.kernel.org/tip/60a0e2039e3df6c0a2b896bd78af36ff36fb629c
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Mon, 4 Apr 2016 08:46:22 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 13 Apr 2016 11:37:47 +0200

x86/extable: Add a comment about early exception handlers

Borislav asked for a comment explaining why all exception handlers are
allowed early.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: KVM list <kvm@vger.kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: xen-devel <Xen-devel@lists.xen.org>
Link: http://lkml.kernel.org/r/5f1dcd6919f4a5923959a8065cb2c04d9dac1412.1459784772.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/mm/extable.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index fd9eb98..aaeda3f 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -125,6 +125,20 @@ void __init early_fixup_exception(struct pt_regs *regs, int trapnr)
 	if (regs->cs != __KERNEL_CS)
 		goto fail;
 
+	/*
+	 * The full exception fixup machinery is available as soon as
+	 * the early IDT is loaded.  This means that it is the
+	 * responsibility of extable users to either function correctly
+	 * when handlers are invoked early or to simply avoid causing
+	 * exceptions before they're ready to handle them.
+	 *
+	 * This is better than filtering which handlers can be used,
+	 * because refusing to call a handler here is guaranteed to
+	 * result in a hard-to-debug panic.
+	 *
+	 * Keep in mind that not all vectors actually get here.  Early
+	 * fage faults, for example, are special.
+	 */
 	if (fixup_exception(regs, trapnr))
 		return;
 

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [tip:x86/asm] x86/extable: Add a comment about early exception handlers
  2016-04-04 15:46 [PATCH] x86/extable: Add a comment about early exception handlers Andy Lutomirski
                   ` (2 preceding siblings ...)
  2016-04-13 11:46 ` [tip:x86/asm] " tip-bot for Andy Lutomirski
@ 2016-04-13 11:46 ` tip-bot for Andy Lutomirski
  3 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Andy Lutomirski @ 2016-04-13 11:46 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: boris.ostrovsky, kvm, peterz, torvalds, linux-kernel, Xen-devel,
	tglx, luto, hpa, bp, pbonzini, akpm, bp, arjan, mingo

Commit-ID:  60a0e2039e3df6c0a2b896bd78af36ff36fb629c
Gitweb:     http://git.kernel.org/tip/60a0e2039e3df6c0a2b896bd78af36ff36fb629c
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Mon, 4 Apr 2016 08:46:22 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 13 Apr 2016 11:37:47 +0200

x86/extable: Add a comment about early exception handlers

Borislav asked for a comment explaining why all exception handlers are
allowed early.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: KVM list <kvm@vger.kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: xen-devel <Xen-devel@lists.xen.org>
Link: http://lkml.kernel.org/r/5f1dcd6919f4a5923959a8065cb2c04d9dac1412.1459784772.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/mm/extable.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index fd9eb98..aaeda3f 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -125,6 +125,20 @@ void __init early_fixup_exception(struct pt_regs *regs, int trapnr)
 	if (regs->cs != __KERNEL_CS)
 		goto fail;
 
+	/*
+	 * The full exception fixup machinery is available as soon as
+	 * the early IDT is loaded.  This means that it is the
+	 * responsibility of extable users to either function correctly
+	 * when handlers are invoked early or to simply avoid causing
+	 * exceptions before they're ready to handle them.
+	 *
+	 * This is better than filtering which handlers can be used,
+	 * because refusing to call a handler here is guaranteed to
+	 * result in a hard-to-debug panic.
+	 *
+	 * Keep in mind that not all vectors actually get here.  Early
+	 * fage faults, for example, are special.
+	 */
 	if (fixup_exception(regs, trapnr))
 		return;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-04-13 11:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-04 15:46 [PATCH] x86/extable: Add a comment about early exception handlers Andy Lutomirski
2016-04-04 16:16 ` Borislav Petkov
2016-04-04 16:16 ` Borislav Petkov
2016-04-13 11:46 ` [tip:x86/asm] " tip-bot for Andy Lutomirski
2016-04-13 11:46 ` tip-bot for Andy Lutomirski

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.