Re: [PATCH] x86-64: remove unnecessary ptregs call stubs

From: Jan Beulich
Date: Thu Jun 19 2008 - 10:32:36 EST


>>> Andi Kleen <andi@xxxxxxxxxxxxxx> 19.06.08 14:50 >>>
>Ingo Molnar wrote:
>> * Jan Beulich <jbeulich@xxxxxxxxxx> wrote:
>>
>>> A few of the ptregs call stubs are superfluous these days - the called
>>> functions don't have a trailing 'struct pt_regs *' parameter anymore.
>>
>> applied to tip/x86/cleanups - thanks Jan.
>
>Just want to point out that not having a pt_regs * argument is not necessarily
>sufficient for not needing a ptregs stub. Some code also accesses ptregs directly
>through the stack top from get_thread_info() and might assume a full one. That said I *think*
>it's ok for sigsuspend et.al. as in Jan's patch, but I haven't audited the complete code paths
>in question that they never do that.
>
>Would be good to clarify that in the commit log.

Looking at both the source and disassembly of sys_rt_sigsuspend() and
sys32_sigsuspend(), I cannot see anything pt_regs related. All these
functions call are copy_from_user(), spin_lock_irq(), recalc_sigpending(),
and schedule(), and besides that they just update some global and task
state.

Jan

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