From: Mikael Pettersson <mikpelinux@gmail.com>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: Andreas Schwab <schwab@linux-m68k.org>,
linux-m68k@vger.kernel.org,
Mikael Pettersson <mikpelinux@gmail.com>
Subject: Re: Boot crash on 68030, was Re: [PATCH][M68K] implement futex.h to support userspace robust futexes and PI mutexes
Date: Tue, 10 Dec 2013 11:13:50 +0100 [thread overview]
Message-ID: <21158.59742.841241.260782@gargle.gargle.HOWL> (raw)
In-Reply-To: <alpine.LNX.2.00.1312101141250.17926@nippy.intranet>
Finn Thain writes:
>
> On Tue, 10 Dec 2013, Andreas Schwab wrote:
>
> > Finn Thain <fthain@telegraphics.com.au> writes:
> >
> > > Data read fault at 0x00000000 in Super Data (pc=0x3afec)
> > > BAD KERNEL BUSERR
> > > Oops: 00000000
> > > Modules linked in:
> > > PC: [<0003afec>] cmpxchg_futex_value_locked+0x14/0x4a
> >
> > What does it do here?
>
> What happens next is that swapper dies leading to panic (see below).
>
> It appears that the call graph looks like this,
>
> futex_init()
> cmpxchg_futex_value_locked(&curval, NULL, 0, 0)
> pagefault_disable();
> futex_atomic_cmpxchg_inatomic(curval, NULL, 0, 0)
> get_user(val, NULL)
>
> That is, futex_init() passes a NULL pointer expecting it to fault, as
> described in the comments in kernel/futex.c. Clearly the fault is not
> expected to be fatal.
>
> Finn
Since it works for 040 I'd have to suspect some breakage in the
pagefault handling for 030. However I haven't looked at that code
in any detail yet.
/Mikael
>
>
> MacLinux
>
> vidaddr: 60040000
> _stext: 00001000
> bootinfo: 002CC000
> cpuid: 00000000
> sccbase: 50F04000
>
> ABCFGHIJK
> Linux version 3.10.0-rc2-mac-111606-ge4f2dfb (fthain@nippy) (gcc version
> 4.4.6 (GCC) ) #14 Tue Dec 10 11:31:21 EST 2013
> bootconsole [early0] enabled
> Detected Macintosh model: 33
> VIA1 at 50f00000 is a 6522 or clone
> VIA2 at 50f02000 is a 6522 or clone
> Apple Macintosh PowerBook 180
> Built 1 zonelists in Zone order, mobility grouping off. Total pages: 3045
> Kernel command line: console=ttyS0
> PID hash table entries: 64 (order: -4, 256 bytes)
> Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
> Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
> Sorting __ex_table...
> Memory: 9252k/9252k available (1948k kernel code, 984k data, 104k init)
> Virtual kernel memory layout:
> vector : 0x0029318c - 0x0029358c ( 1 KiB)
> kmap : 0xd0000000 - 0xf0000000 ( 512 MiB)
> vmalloc : 0x01000000 - 0xd0000000 (3312 MiB)
> lowmem : 0x00000000 - 0x00c00000 ( 12 MiB)
> .init : 0x002b2000 - 0x002cc000 ( 104 KiB)
> .text : 0x00001000 - 0x001e71aa (1945 KiB)
> .data : 0x001e9d60 - 0x002b11d0 ( 798 KiB)
> .bss : 0x00292f80 - 0x002b11d0 ( 121 KiB)
> SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=8
> NR_IRQS:72
> Killing onboard sonic... Done.
> WARNING: Persistent clock returned invalid value!
> Check your CMOS/BIOS settings.
> Console: colour dummy device 80x25
> console [ttyS0] enabled, bootconsole disabled
> console [ttyS0] enabled, bootconsole disabled
> Calibrating delay loop... 7.83 BogoMIPS (lpj=39168)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> devtmpfs: initialized
> NET: Registered protocol family 16
> bio: create slab <bio-0> at 0
> NuBus: Scanning NuBus slots.
> SCSI subsystem initialized
> NET: Registered protocol family 2
> TCP established hash table entries: 512 (order: 0, 4096 bytes)
> TCP bind hash table entries: 512 (order: -1, 2048 bytes)
> TCP: Hash tables configured (established 512 bind 512)
> TCP: reno registered
> UDP hash table entries: 256 (order: 0, 4096 bytes)
> UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> Data read fault at 0x00000000 in Super Data (pc=0x3afec)
> BAD KERNEL BUSERR
> Oops: 00000000
> Modules linked in:
> PC: [<0003afec>] cmpxchg_futex_value_locked+0x14/0x4a
> SR: 2004 SP: 0082fed4 a2: 0082c000
> d0: 00000000 d1: 00000001 d2: 00000018 d3: 00000000
> d4: 00000061 d5: 00001000 a0: 00000000 a1: 0082e000
> Process swapper (pid: 1, task=0082c000)
> Frame format=B ssw=074d isc=4a80 isb=661c daddr=00000000 dobuf=00000001
> baddr=0003aff2 dibuf=00000000 ver=f
> Stack from 0082ff5c:
> 002b8cb8 0082ff70 00000000 00000000 00000000 00000000 00000000 000020ac
> 00000018 00000007 00000061 00001000 00000000 00000000 002cab50 00002008
> 002b3a56 002b8ca4 0082c3f0 00000000 0082c53c 001e316a 00000000 00000000
> 001e3172 001e316a 000025d4 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 20000000
> 00000000
> Call Trace: [<002b8cb8>] futex_init+0x14/0x54
> [<000020ac>] do_one_initcall+0xa4/0x144
> [<00001000>] kernel_pg_dir+0x0/0x1000
> [<00002008>] do_one_initcall+0x0/0x144
> [<002b3a56>] kernel_init_freeable+0xca/0x152
> [<002b8ca4>] futex_init+0x0/0x54
> [<001e316a>] kernel_init+0x0/0xc8
> [<001e3172>] kernel_init+0x8/0xc8
> [<001e316a>] kernel_init+0x0/0xc8
> [<000025d4>] ret_from_kernel_thread+0xc/0x14
>
> Code: 200f 0280 ffff e000 2240 52a9 0010 4280 <0e90> 1000 4a80 661c b2af
> 000c 660c 226f 0010 0e90 9800 4a80 660a 206f 0004 2081
> Disabling lock debugging due to kernel taint
> note: swapper[1] exited with preempt_count 1
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
--
prev parent reply other threads:[~2013-12-10 10:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-08 14:03 [PATCH][M68K] implement futex.h to support userspace robust futexes and PI mutexes Mikael Pettersson
2013-05-17 8:44 ` Andreas Schwab
2013-05-17 9:02 ` Geert Uytterhoeven
2013-05-17 9:38 ` Andreas Schwab
2013-05-17 10:04 ` Geert Uytterhoeven
2013-05-17 12:05 ` Mikael Pettersson
2013-05-31 9:16 ` Geert Uytterhoeven
2013-12-09 23:11 ` Boot crash on 68030, was " Finn Thain
2013-12-09 23:27 ` Andreas Schwab
2013-12-10 0:54 ` Finn Thain
2013-12-10 10:12 ` Geert Uytterhoeven
2013-12-10 10:19 ` Andreas Schwab
2014-02-28 3:12 ` futex_init() vs. KERNEL_DS, was Re: Boot crash on 68030 Finn Thain
2014-02-28 7:48 ` Heiko Carstens
2014-02-28 10:30 ` Finn Thain
2014-02-21 2:33 ` Boot crash on 68030, was Re: [PATCH][M68K] implement futex.h to support userspace robust futexes and PI mutexes Finn Thain
2014-02-21 9:53 ` Andreas Schwab
2013-12-10 10:13 ` Mikael Pettersson [this message]
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=21158.59742.841241.260782@gargle.gargle.HOWL \
--to=mikpelinux@gmail.com \
--cc=fthain@telegraphics.com.au \
--cc=linux-m68k@vger.kernel.org \
--cc=schwab@linux-m68k.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