From: Thomas Gleixner <tglx@linutronix.de> To: Andy Lutomirski <luto@kernel.org> Cc: Andy Lutomirski <luto@kernel.org>, LKML <linux-kernel@vger.kernel.org>, X86 ML <x86@kernel.org>, Steven Rostedt <rostedt@goodmis.org>, Brian Gerst <brgerst@gmail.com>, Juergen Gross <jgross@suse.com>, Paolo Bonzini <pbonzini@redhat.com>, Arnd Bergmann <arnd@arndb.de> Subject: Re: [patch 08/10] x86/entry/32: Remove the 0/-1 distinction from exception entries Date: Wed, 26 Feb 2020 20:15:36 +0100 [thread overview] Message-ID: <87y2spb1nr.fsf@nanos.tec.linutronix.de> (raw) In-Reply-To: <CALCETrXbNQJyvDEkfi0f0P3r+zrz8h7cPMaWB0PM_eTkFEAF0w@mail.gmail.com> Andy Lutomirski <luto@kernel.org> writes: > On Wed, Feb 26, 2020 at 10:42 AM Thomas Gleixner <tglx@linutronix.de> wrote: >> The pushed value is used as the error_code argument for the exception >> handler and I really can't find a single one which cares (anymore). >> >> But darn and I overlooked that, it's propagated to do_trap() and >> friends, but even if this causes a user visible change, I doubt that >> anything cares about it today simply because for giggles a 64bit kernel >> unconditionally pushes 0 for all exceptions which do not have a hardware >> error code on stack. So any 32bit application which excpects a >> particular error code (0/-1) in the signal would have been broken on the >> first day it ran on a x64 bit kernel. >> >> If someone yells regression, then that's really trivial to fix in >> C-code. > > I *think* this is plumbed much more directly to userspace: > > $ cat /proc/$$/syscall > 61 0xffffffff 0x7ffccf734ed0 0xa 0x0 0x1 0x0 0x7ffccf734eb8 0x7f0667465eda The task is in syscall 61. And the 0xffffffff is syscall args[0]. So I'm not sure what you try to demonstrate. > That entire feature is highly dubious and I suppose we could just > delete it. But right now, we at least pretend that we can tell, > totally asynchronously, whether another task is in a syscall. Unless > we do *something*, though, I think you shouldn't make this change. So if a task actually hits a breakpoint that syscall proc thing reads: -1 0xffffd0e0 0x565561a6 So even if the entry stub pushs 0, the fixup turns it into -1. Thanks, tglx
next prev parent reply other threads:[~2020-02-26 19:15 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-25 21:36 [patch 00/10] x86/entry: Consolidation - Part I Thomas Gleixner 2020-02-25 21:36 ` [patch 01/10] x86/entry/32: Add missing ASM_CLAC to general_protection entry Thomas Gleixner 2020-02-26 1:00 ` Frederic Weisbecker 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 02/10] x86/mce: Disable tracing and kprobes on do_machine_check() Thomas Gleixner 2020-02-26 1:13 ` Frederic Weisbecker 2020-02-26 5:29 ` Andy Lutomirski 2020-02-26 13:28 ` Peter Zijlstra 2020-02-26 15:10 ` Andy Lutomirski 2020-02-26 16:08 ` Peter Zijlstra 2020-02-26 17:28 ` Andy Lutomirski 2020-02-26 18:42 ` Borislav Petkov 2020-02-26 18:59 ` Peter Zijlstra 2020-02-26 19:09 ` Andy Lutomirski 2020-02-26 20:59 ` Steven Rostedt 2020-02-26 11:18 ` Borislav Petkov 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Andy Lutomirski 2020-02-25 21:36 ` [patch 03/10] x86/entry/32: Force MCE through do_mce() Thomas Gleixner 2020-02-26 1:11 ` Frederic Weisbecker 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 04/10] x86/traps: Remove pointless irq enable from do_spurious_interrupt_bug() Thomas Gleixner 2020-02-26 1:19 ` Frederic Weisbecker 2020-02-25 21:36 ` [patch 05/10] x86/traps: Document do_spurious_interrupt_bug() Thomas Gleixner 2020-02-26 17:08 ` Frederic Weisbecker 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 06/10] x86/traps: Remove redundant declaration of do_double_fault() Thomas Gleixner 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 07/10] x86/irq: Remove useless return value from do_IRQ() Thomas Gleixner 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 08/10] x86/entry/32: Remove the 0/-1 distinction from exception entries Thomas Gleixner 2020-02-26 5:34 ` Andy Lutomirski 2020-02-26 18:42 ` Thomas Gleixner 2020-02-26 18:57 ` Andy Lutomirski 2020-02-26 19:15 ` Thomas Gleixner [this message] 2020-02-27 14:24 ` [patch V2 " Thomas Gleixner 2020-02-29 11:49 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 09/10] x86/entry/entry_32: Route int3 through common_exception Thomas Gleixner 2020-02-26 17:35 ` Frederic Weisbecker 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-25 21:36 ` [patch 10/10] x86/traps: Stop using ist_enter/exit() in do_int3() Thomas Gleixner 2020-02-27 14:15 ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner 2020-02-27 14:33 ` tip-bot2 for Andy Lutomirski 2020-02-26 5:26 ` [patch 00/10] x86/entry: Consolidation - Part I Andy Lutomirski 2020-02-26 5:35 ` Andy Lutomirski 2020-02-27 11:01 ` Alexandre Chartre
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=87y2spb1nr.fsf@nanos.tec.linutronix.de \ --to=tglx@linutronix.de \ --cc=arnd@arndb.de \ --cc=brgerst@gmail.com \ --cc=jgross@suse.com \ --cc=linux-kernel@vger.kernel.org \ --cc=luto@kernel.org \ --cc=pbonzini@redhat.com \ --cc=rostedt@goodmis.org \ --cc=x86@kernel.org \ --subject='Re: [patch 08/10] x86/entry/32: Remove the 0/-1 distinction from exception entries' \ /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
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.