Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1526372
| From | hpa@zytor.com |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? |
| Date | 2016-11-21 07:00 +0100 |
| Message-ID | <sFPO1-5uT-3@gated-at.bofh.it> (permalink) |
| References | <sFpAe-4sJ-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On November 19, 2016 5:52:57 PM PST, Andy Lutomirski <luto@kernel.org> wrote: >This is a question for the old-timers here, since I can't find >anything resembling an answer in the SDM. > >Suppose an exception happens (#UD in this case, but I assume it >doesn't really matter). We're not in long mode, and the IDT is set up >to deliver to a normal 32-bit kernel code segment. We're running in >that very same code segment when the exception hits, so no CPL change >occurs and the TSS doesn't particularly matter. > >The CPU will push EFLAGS, CS, and RIP. Here's the question: what >happens to the high word of CS on the stack? > >The SDM appears to say nothing at all about this. Modern systems >(e.g. my laptop running in 32-bit legacy mode under KVM) appear to >zero-extend CS. But Matthew's 486DX appears to put garbage in the >high bits (or maybe just leave whatever was already on the stack in >place). > >Do any of you happen to know what's going on and when the behavior >changed? I'd like to know just how big of a problem this is. Because >if lots of CPUs work like Matthew's, we have lots of subtle bugs on >them. > >--Andy I believe i686+ writes zero, older CPUs leave unchanged. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Andy Lutomirski <luto@kernel.org> - 2016-11-20 03:00 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Brian Gerst <brgerst@gmail.com> - 2016-11-20 03:20 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Andy Lutomirski <luto@amacapital.net> - 2016-11-20 03:20 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Ingo Molnar <mingo@kernel.org> - 2016-11-21 08:30 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Linus Torvalds <torvalds@linux-foundation.org> - 2016-11-21 19:10 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? "H. Peter Anvin" <hpa@zytor.com> - 2016-11-21 19:40 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Linus Torvalds <torvalds@linux-foundation.org> - 2016-11-21 22:30 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Linus Torvalds <torvalds@linux-foundation.org> - 2016-11-21 23:30 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? hpa@zytor.com - 2016-11-21 23:30 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Andy Lutomirski <luto@amacapital.net> - 2016-11-24 18:20 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Ingo Molnar <mingo@kernel.org> - 2016-11-22 09:40 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Andy Lutomirski <luto@amacapital.net> - 2016-11-22 18:40 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Ingo Molnar <mingo@kernel.org> - 2016-11-23 10:00 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? hpa@zytor.com - 2016-11-21 07:00 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? "H. Peter Anvin" <hpa@zytor.com> - 2016-11-21 17:10 +0100
Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? Linus Torvalds <torvalds@linux-foundation.org> - 2016-11-21 19:30 +0100
csiph-web