[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87wnldnj7o.fsf@email.froward.int.ebiederm.org>
Date: Fri, 12 Nov 2021 15:43:23 -0600
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Brian Gerst <brgerst@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Oleg Nesterov <oleg@...hat.com>,
Al Viro <viro@...iv.linux.org.uk>,
Kees Cook <keescook@...omium.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"the arch\/x86 maintainers" <x86@...nel.org>,
H Peter Anvin <hpa@...or.com>,
Andy Lutomirski <luto@...nel.org>
Subject: Re: [PATCH 09/20] signal/vm86_32: Replace open coded BUG_ON with an actual BUG_ON
Linus Torvalds <torvalds@...ux-foundation.org> writes:
> On Fri, Nov 12, 2021 at 1:23 PM Linus Torvalds
> <torvalds@...ux-foundation.org> wrote:
>>
>> But I could see some quick test hack doing it - the IVT at boot is
>> actually not at zero, but at fffxxxxx. 8086 is magic.
>
> .. and it's been too long, and I'm too lazy to check - it may be that
> vm86 mode doesn't even do that magic boot-time address thing.
>
> It's not like we really care about vm86 mode any more, since pretty
> much nobody users it.
As I recall at boot CS == 0xffff0000 EIP == 0x0000fff0 and the cpu is in
16bit mode. Which means the cpu runs the instructions in the last
16bytes of memory at boot up. Which is just enough for a jump somewhere
else. Such as 64K backwards where there is enough space to actual have
enough code to do something.
I don't think vm86 even attempts to emulate that behavior as it is only
concerned about 16bit only cpus and emulation.
In the nobody cares camp I have just sent you a pull request to remove
the ancient (except it wasn't a BUG_ON) and problematic test in the
BUG_ON.
I think that is enough to resolve this.
Eric
Powered by blists - more mailing lists