Re: [GIT PULL] x86/paravirt for v2.6.33

From: Ingo Molnar
Date: Wed Dec 09 2009 - 02:36:55 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Thu, 3 Dec 2009, Ingo Molnar wrote:
> >
> > Please pull the latest x86-paravirt-for-linus git tree from:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-paravirt-for-linus
>
> I _really_ don't like this:
>
> > -long sys_iopl(struct pt_regs *regs)
> > +asmlinkage long sys_iopl(unsigned int level)
> > {
> > - unsigned int level = regs->bx;
> > struct thread_struct *t = &current->thread;
> > + struct pt_regs *regs = task_pt_regs(current);
>
> 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).
> 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.
>
> The old version that actually passed the stack frame was better. Why
> pick the inferior version?

Yeah, agreed. I missed that detail.

Jeremy, mind sending a patch that updates this code to use the less
obfuscated 32-bit version, not the 64-bit version? (a delta patch
against tip:master would be nice, as there's a fair amount of testing in
the unification change itself already, which we dont want to discard.)

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/