[parisc-linux] exec() problem

Philipp Rumpf prumpf@mathe.stud.uni-erlangen.de
Sat, 6 Nov 1999 20:27:38 +0100


> This is rumored to be a known problem.  Since I've seen it a lot recently

I am not sure it's the one I do know (and which will be fixed as soon as I got
my machines set-up again and got time to do debugging).

> and am going on vacation, here's what I know in case it helps.  The problem
> can manifest on one machine and not another with the same bits.  It can
> come and go as the size of code in arch/parisc/kernel changes.  The
> problem shows in the boot like this:
> 
>     Attempting to execute '/sbin/init'
> 
>     PSW  : 0004000b  GR 1 : c0128800  GR 2 : c0029390  GR 3 : 00000000
>     GR 4 : 00000000  GR 5 : ffffffff  GR 6 : 00000000  GR 7 : c0092708
>     GR 8 : c0fdba20  GR 9 : c00924c8  GR10 : 00000080  GR11 : 0000000a
>     GR12 : 00000000  GR13 : 00000000  GR14 : 00000001  GR15 : c00927c8
>     GR16 : c0100000  GR17 : c00292e0  GR18 : c0092720  GR19 : 00000000
>     GR20 : c0128a00  GR21 : a0000024  GR22 : 00000000  GR23 : c012bc7c
>     GR24 : c00927c8  GR25 : 00000000  GR26 : c0092708  GR27 : c008e000
>     GR28 : 00000000  GR29 : 00000000  GR30 : c0092a00  GR31 : c0039914
>     SR0  : 00000000  SR1  : 00000000  SR2  : 00000000  SR3  : 00000000
>     SR4  : 00000000  SR5  : 00000000  SR6  : 00000000  SR7  : 00000000
>     IAOQ : c0028e5c c0028e60
> 
>     bad address a000002c (code 15)
>     Kernel panic: bad address
> 
> adb on the IAOQ address says:
> 
>     do_generic_file_read+16C:       LDW             8(r21),r19
> 
> which is consistent with the value in r21 (a0000024).  This is
> inside a call which I believe is called eventually from do_execve()
> called within init/main.c:init().  I didn't track down do_execve().

This looks a lot like a completely bogus pointer which might be both memory
corruption and the schedule() returns early bug I know of.

	Philipp Rumpf