Re: [GIT PULL] x86: unify sys_iopl

From: H. Peter Anvin
Date: Tue Oct 13 2009 - 13:58:48 EST


On 10/13/2009 09:53 AM, Jeremy Fitzhardinge wrote:
> On 10/13/09 09:24, H. Peter Anvin wrote:
>> First of all, the unification looks good.
>>
>> As far as .32 is concerned... this *is* a bug even if this is only for
>> paravirt, and given the small amount of code I am personally OK with
>> taking the whole patch for .32.
>>
>> However, the patch is not complete! The patch incidentally eliminates
>> the need to have assembly stubs for sys_iopl, and those assembly stubs
>> should be removed. I have a patch for that currently test building.
>>
>
> I wasn't sure whether task_pt_regs() needed the full register set to be
> saved to correctly return rflags (that is, does PTREGSCALL change the
> shape of the stack, or just the contents?).
>

A double-check confirmed my previous statement: on 64 bits, PTREGSCALL
does populate the fields at the beginning of struct pt_regs, but
task_pt_regs(current) is valid even without those fields populated,
since it is anchored at the top "hanging down" from the kernel entry
stack pointer address.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
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/