Re: Linux-2.1.129..

Richard Gooch (rgooch@atnf.csiro.au)
Sat, 21 Nov 1998 08:40:34 +1100


Linus Torvalds writes:
> On Fri, 20 Nov 1998, Richard Gooch wrote:
> >
> > I just went and used the version in the scripts subdirectory that's
> > shipped with the kernel. Here is the result:
> >
> > >>EIP: c01a6b6b <do_basic_setup+37/198>
> > Code: c01a6b6b <do_basic_setup+37/198>
> > >>EIP: c01a6b8c <do_basic_setup+58/198>
> > Code: c01a6b8c <do_basic_setup+58/198>
>
> Ehh, and the last thing before the crash was "freeing XXkB kernel memory"?

Indeed. I've hacked the code for do_basic_setup() to display some
printk()'s and appended my complete boot log below.

Now ksymoops (from the kernel script directory) gives me:
>>EIP: c01a6b78 <do_basic_setup+44/1b0>
Code: c01a6b78 <do_basic_setup+44/1b0>
>>EIP: c01a6b99 <do_basic_setup+65/1b0>
Code: c01a6b99 <do_basic_setup+65/1b0>

> do_basic_setup() is a __init function, and is only called _before_ the
> "free_initmem()" function - because free_initmem() is going to free up the
> memory for that __init function..

As you can see from my boot logs, do_basic_setup() does indeed return
before init memory is freed.

> Dare I ask you what compiler you use?

Snif. I'm saddened that you ask that. Of course I'm using gcc
2.7.3.1.

Regards,

Richard....

Linux version 2.1.129 (rgooch@workaholix) (gcc version 2.7.2.f.1) #3 Sat Nov 21 08:32:31 EST 1998
Console: colour VGA+ 80x60
Calibrating delay loop... 99.94 BogoMIPS
Memory: 28616k/32768k available (584k kernel code, 408k reserved, 592k data, 32k init)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
CPU: Cyrix 6x86 2x Core/Bus Clock stepping 2.5
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
do_basic_setup started
PCI: PCI BIOS revision 2.10 entry at 0xfb260
PCI: Probing PCI hardware
Swansea University Computer Society NET3.039 for Linux 2.1
NET3: Unix domain sockets 0.16 for Linux NET3.038.
Swansea University Computer Society TCP/IP for NET3.037
IP Protocols: ICMP, UDP, TCP
Starting kswapd v 1.5
Serial driver version 4.26 with SHARE_IRQ enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.09
RAM disk driver initialized: 16 RAM disks of 8192K size
RAMDISK: Compressed image found at block 0
devfs: v0.54 (19981114) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0xc
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
do_basic_setup returning
Freeing unused kernel memory: 32k freed
Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c01a6b78>]
EFLAGS: 00010246
eax: 00000000 ebx: 00000f00 ecx: c0098440 edx: c0124f18
esi: c0233fd0 edi: 00000000 ebp: 00009000 esp: c0008000
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 2, process nr: 2, stackpage=c0007000)
Stack:
Call Trace:
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c01a6b99>]
EFLAGS: 00010292
eax: 00000000 ebx: 00000f00 ecx: 00000001 edx: c011e6b4
esi: c0233fd0 edi: 00000000 ebp: 00009000 esp: c0006000
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 3, process nr: 3, stackpage=c0005000)
Stack:
Call Trace:
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x280: 00 40 33 22 95 14
eth0: NE2000 found at 0x280, using IRQ 10.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/