NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-mac68k/48293: mac68k unbootable (stack overflow?)

>Number:         48293
>Category:       port-mac68k
>Synopsis:       mac68k unbootable (stack overflow?)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-mac68k-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 09 08:05:00 +0000 2013
>Release:        NetBSD 6.99.24
The NetBSD Foundation, Inc.
System: NetBSD 6.99.24 NetBSD 6.99.24 (MAC-BETH) #0: Wed 
Oct 9 07:06:30 CEST 2013
Architecture: m68k
Machine: mac68k

With revision 1.35 of src/sys/kern_todr.c (where inittodr was changed to
call rnd_add_...) my mac68k does not boot anymore. I see symptoms of either
(random) memory corruption or stack smashing.

Backing out that single change makes it boot.

Looking at the difference in generated assembler, the only relevant
change seems to be the increased size of the inittodr stack frame
(assuming the called functions to not smash the stack, which at least
is not obvious):

 -       link.w %fp,#-48
 +       link.w %fp,#-56

A newer amiga kernel works, but amiga uses two 8k pages as UAREA, so has
a larger kernel stack. Will investigate if increasing the mac68k stack size

Just try to boot -current.


Home | Main Index | Thread Index | Old Index