[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B1FE9FD.3030407@goop.org>
Date: Wed, 09 Dec 2009 10:18:37 -0800
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Hugh Dickens <hugh@...itas.com>
Subject: Re: [GIT PULL] x86/paravirt for v2.6.33
On 12/08/09 13:34, Linus Torvalds wrote:
> I do _not_ want to add any more task_pt_regs() crap, please.
>
> Why? It's wrong for at least vm86 mode (and from kernel system calls).
>
Would the stack frame version work in these cases?
> Maybe we can't get into system calls from vm86 mode, and the kernel
> hopefully doesn't do those things anyway, but the point is, you chose the
> wrong way to go.
>
iopl doesn't make much sense as a kernel-called syscall, unless the
caller is intending to change the usermode iopl. In which case, won't
task_pt_regs() do the right thing - by pointing to the saved usermode
register set - vs modifying the ptregs the caller may pass in?
iopl is also one of the special set of syscalls which get special
handing in entry_*.S, so I don't think doing a direct call from within
the kernel is ever sensible, and it should always be possible to make
task_pt_regs return meaningful results.
I agree with you that vm86 would be a problem if its possible to call iopl.
> The old version that actually passed the stack frame was better. Why pick
> the inferior version?
>
Mainly because it exposes the difference between the 32 and 64-bit ABIs,
requiring separate code for each case; it seemed like an opportunity to
remove the differences.
Anyway, I'll post a patch to revert to the pt_regs-based version shortly.
J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists