Re: [bisected] 2.6.29-rc1 Firefox crashing on page load

From: Heiko Carstens
Date: Tue Jan 20 2009 - 02:16:17 EST


On Mon, Jan 19, 2009 at 04:32:32PM -0800, Justin Madru wrote:
> Justin P. Mattock wrote:
>> Justin Madru wrote:
> Ok, finally bisected the bug, but the commit isn't related to networking!
> I did: git revert 4217458dafaa57d8e26a46f5d05ab8c53cf64191
> commit 4217458dafaa57d8e26a46f5d05ab8c53cf64191
> Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
> Date: Fri Dec 5 17:17:09 2008 -0800
>
> x86: signal: change type of paramter for sys_rt_sigreturn()
>
> Impact: cleanup on 32-bit
>
> Peter pointed this parameter can be changed.
>
> Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
>
> :040000 040000 f5fba48247ff200092c38a54e334f495917229d5
> b901159897e5d85e0dc2a0c9d904d9a73c1d58a2 M arch
>
> arch/x86/include/asm/syscalls.h
> arch/x86/kernel/signal.c
>
> diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
> index b1f4d34..b1cc6da 100644 (file)
> --- a/arch/x86/kernel/signal.c
> +++ b/arch/x86/kernel/signal.c
> @@ -642,11 +642,9 @@ badframe:
> }
>
> #ifdef CONFIG_X86_32
> -asmlinkage int sys_rt_sigreturn(unsigned long __unused)
> +asmlinkage int sys_rt_sigreturn(struct pt_regs regs)
> {
> - struct pt_regs *regs = (struct pt_regs *)&__unused;

This probably should have been converted to

asmlinkage long sys_rt_sigreturn(void)
{
struct pt_regs *regs = task_pt_regs(current);
[...]

> -
> - return do_rt_sigreturn(regs);
> + return do_rt_sigreturn(&regs);
> }
> #else /* !CONFIG_X86_32 */
> asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)

Also there's no reason to have different sys_rt_sigreturn implementations
for 32 and 64 bit. They just could be merged with do_rt_sigreturn.
--
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/