Re: [PATCH 5/5] x86: ia32_signal: change order of storing in setup_sigcontext()

Hiroshi Shimamoto
2008-11-17T18:20:42Z

Américo Wang wrote:
> On Sat, Nov 15, 2008 at 3:28 AM, Hiroshi Shimamoto
> <h-shimamoto@ct.jp.nec.com> wrote:
>> From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
>>
>> Impact: cleanup
>>
>> Change order of storing to match the sigcontext_ia32.
>
>
> Well, more than reordering... Please see below.
>
>> Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
>> ---
>> arch/x86/ia32/ia32_signal.c | 4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
>> index 2883f41..909181a 100644
>> --- a/arch/x86/ia32/ia32_signal.c
>> +++ b/arch/x86/ia32/ia32_signal.c
>> @@ -360,13 +360,13 @@ static int ia32_setup_sigcontext(struct sigcontext_ia32 __user *sc,
>> err |= __put_user(regs->dx, &sc->dx);
>> err |= __put_user(regs->cx, &sc->cx);
>> err |= __put_user(regs->ax, &sc->ax);
>> - err |= __put_user(regs->cs, &sc->cs);
>> - err |= __put_user(regs->ss, &sc->ss);
>> err |= __put_user(current->thread.trap_no, &sc->trapno);
>> err |= __put_user(current->thread.error_code, &sc->err);
>> err |= __put_user(regs->ip, &sc->ip);
>> + err |= __put_user(regs->cs, (unsigned int __user *)&sc->cs);
>> err |= __put_user(regs->flags, &sc->flags);
>> err |= __put_user(regs->sp, &sc->sp_at_signal);
>> + err |= __put_user(regs->ss, (unsigned int __user *)&sc->ss);
>
>
> Why do you add two casts? If these two are necessary, I am afraid the rest ones
> also need. :)

Thanks, I forgot to mention it.
This cast is to make this code same as arch/x86/kernel/signal_32.c.
No one cares upper part, but it makes improvement by avoiding operand
size prefix.

thanks,
Hiroshi Shimamoto