Re: Early call_usermodehelper causes double fault on x86_64

From: Andi Kleen
Date: Wed Oct 27 2004 - 19:03:05 EST


On Wed, Oct 27, 2004 at 12:40:55PM -0700, Chris Wright wrote:
> Hi,
>
> I'm seeing a double fault on recent (2.6.10-rc1-bk) kernels during
> driver_init(). The upcall to userspace gets far enough to schedule the
> work, khelper picks it up, calls kernel_thread, the child thread does
> execve, then double faults. Bootup continues, I get three more double
> faults, then the system appears fine (even w/ continued upcalls).
>
> I have an example of the fault below. It shows a rip and rsp
> of 0. I poked about a bit and see that the FAKE_STACK_FRAME $0 in
> arch/x86-64/kernel/entry.S sets up a 0 rip, and if I change the \rip
> in that macro call, that's the rip in the double fault. Any ideas on
> further debugging?

It looks like do_execve returned with a zero return without
executing start_thread properly. I would add a printk to
all error exits in the execve path and see which one triggers.

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