linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: schwarzb@ipms.fraunhofer.de (Markus Schwarzenberg)
To: linux-arm-kernel@lists.infradead.org
Subject: smdk6400/S3C6400 failure on execution of init process
Date: Wed, 28 Oct 2009 16:20:37 +0100	[thread overview]
Message-ID: <20091028162037.22f2cb22@linpcd55> (raw)


booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after 
the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init 
process is to be run.

The preceding do_execve returned OK, which suggests that the /init file is 
found, executable etc. in rootfs. 

The failure happens for both booting from  sd-card as well as from initramfs.
I've tried several /init applications, from busybox to a simple wait(1); loop
all with the same behavior.

What's the best way to debug this?

Messages (first two lines from additional diagnostics in 
          do_execve [**] / kernel_execve [*] ):

  do_execve (/endless-loop-nonstatic-arm) succeeded
  kernel_execve calling asm
  mmc0: starting CMD18 arg 30868800 flags 000000b5
  mmc0:     blksz 512 blocks 72 flags 00000200 tsac 100 ms nsac 0
  mmc0:     CMD12 arg 00000000 flags 0000049d
  sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
  sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
  sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
  mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
  mmc0:     36864 bytes transferred: 0
  mmc0:     (CMD12): 0: 00000b00 00000000 00000000 00000000
  Kernel panic - not syncing: Attempted to kill init!
  Backtrace: 
  [<c002a9f0>] (dump_backtrace+0x0/0x114) from [<c0275358>]
  (dump_stack+0x18/0x1c)
   r7:c781ff64 r6:c781d900 r5:c781d900 r4:c034201c
  [<c0275340>] (dump_stack+0x0/0x1c) from [<c02753a8>] (panic+0x4c/0x11c)
  [<c027535c>] (panic+0x0/0x11c) from [<c0048990>] (do_exit+0x74/0x5b4)
   r3:c032a428 r2:c781d900 r1:c781fc28 r0:c02df366
  [<c004891c>] (do_exit+0x0/0x5b4) from [<c0048f54>]
  (do_group_exit+0x84/0xb8)
  [<c0048ed0>] (do_group_exit+0x0/0xb8) from [<c0052cc8>]
  (get_signal_to_deliver+0x2b8/0x2e8)
   r4:00000004
  [<c0052a10>] (get_signal_to_deliver+0x0/0x2e8) from [<c00291c0>]
  (do_notify_resume+0x64/0x5b8)
  [<c002915c>] (do_notify_resume+0x0/0x5b8) from [<c0026f2c>]
  (work_pending+0x1c/0x20)


Regards,

Markus Schwarzenberg

[*] additional messages generated in kernel_execve

--- linux-2.6.32-rc5.orig/arch/arm/kernel/sys_arm.c     2009-10-16 02:41:50.000000000 +0200
+++ linux-2.6.32-rc5/arch/arm/kernel/sys_arm.c  2009-10-28 16:11:25.000000000 +0100
@@ -265,6 +265,7 @@
        struct pt_regs regs;
        int ret;
 
+       printk("kernel_execve %s\n", filename);
        memset(&regs, 0, sizeof(struct pt_regs));
        ret = do_execve((char *)filename, (char __user * __user *)argv,
                        (char __user * __user *)envp, &regs);
@@ -275,6 +276,7 @@
         * Save argc to the register structure for userspace.
         */
        regs.ARM_r0 = ret;
+       printk("kernel_execve calling asm\n");
 
        /*
         * We were successful.  We won't be returning to our caller, but
@@ -296,6 +298,7 @@
                : "r0", "r1", "r2", "r3", "ip", "lr", "memory");
 
  out:
+       printk("kernel_execve return\n");
        return ret;
 }
 EXPORT_SYMBOL(kernel_execve);

[**] additional messages generated in do_execve

--- linux-2.6.32-rc5.orig/fs/exec.c  2009-10-16 02:41:50.000000000 +0200
+++ linux-2.6.32-rc5/fs/exec.c  2009-10-28 10:20:46.000000000 +0100
@@ -1362,6 +1362,7 @@
        current->stack_start = current->mm->start_stack;
 
        /* execve succeeded */
+       printk("do_execve (%s) succeeded\n", filename);
        current->fs->in_exec = 0;
        current->in_execve = 0;
        acct_update_integrals(current);
@@ -1392,6 +1393,7 @@
        if (displaced)
                reset_files_struct(displaced);
 out_ret:
+       printk("do_execve (%s) had errors\n", filename);
        return retval;
 }

             reply	other threads:[~2009-10-28 15:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-28 15:20 Markus Schwarzenberg [this message]
2009-10-28 15:30 ` smdk6400/S3C6400 failure on execution of init process Ben Dooks
2009-10-28 15:49   ` Markus Schwarzenberg
2009-10-28 15:39 ` Rabin Vincent
2009-10-28 15:59   ` Markus Schwarzenberg
2009-10-28 16:10     ` Rabin Vincent
2009-10-28 16:26       ` Markus Schwarzenberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091028162037.22f2cb22@linpcd55 \
    --to=schwarzb@ipms.fraunhofer.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).