bug with 3.4.6, 3.5.3, 3.6.1
Gilles Chanteperdrix
gilles.chanteperdrix at xenomai.org
Thu Oct 11 01:46:35 EDT 2012
Hi,
when booting Linux v3.4.6, v3.5.3, or v3.6.1 on a pandaboard with an
OMAP4430 ES2.1, compiled with the following configuration:
http://xenomai.org/~gch/config-panda
I get the bug below after mounting the root filesystem.
CONFIG_VMSPLIT_2G and CONFIG_THUMB2_KERNEL disabled seems to be the
combination which triggers the bug.
With this configuration, it seems the init_mm.mm_count incrementation
done at the beginning of secondary_start_kernel() is "lost" after the
calls to cpu_switch_mm() and local_flush_tlb().
Modifying the secondary_startup() function in head.S to pass the
swapper pgdir instead of the idmap pgdir in r4 also avoids the issue.
Regards.
init (301): undefined instruction: pc=80027fe0
Code: e59f3058 e1a04000 e1500003 1a000000 (e7f001f2)
------------[ cut here ]------------
kernel BUG at kernel/fork.c:558!
Internal error: Oops - BUG: 0 [#1] SMP ARM
CPU: 1 Tainted: G W (3.4.6+ #61)
PC is at __mmdrop+0x1c/0x78
LR is at finish_task_switch+0xa4/0xec
pc : [<80027fe0>] lr : [<80049a78>] psr: 60000113
sp : bfa79f60 ip : bfa79f78 fp : bfa79f74
r10: 00000000 r9 : 00000000 r8 : 00000000
r7 : 00000000 r6 : 00000000 r5 : bf83a080 r4 : 803655c8
r3 : 803655c8 r2 : 00000000 r1 : 00000000 r0 : 803655c8
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: bfa7c04a DAC: 00000015
Process init (pid: 301, stack limit = 0xbfa782f0)
Stack: (0xbfa79f60 to 0xbfa7a000)
9f60: 803655c8 bf83a080 bfa79f94 bfa79f78 80049a78 80027fd0 80be2100 bf83a080
9f80: 00000000 00000000 bfa79fac bfa79f98 8004b2e0 800499e0 00000000 00000000
9fa0: 00000000 bfa79fb0 8000de44 8004b2ac 00000000 7ee4aba0 76f734c0 00000000
9fc0: 000e21e0 7ee4ac7c 00000001 000000be 00000305 00000000 0001196c 00000000
9fe0: 00000075 7ee4ac30 000a2494 76e07384 60000010 80000000 ffefffff 00000000
Backtrace:
[<80027fc4>] (__mmdrop+0x0/0x78) from [<80049a78>] (finish_task_switch+0xa4/0xec)
r5:bf83a080 r4:803655c8
[<800499d4>] (finish_task_switch+0x0/0xec) from [<8004b2e0>] (schedule_tail+0x40/0xd0)
r7:00000000 r6:00000000 r5:bf83a080 r4:80be2100
[<8004b2a0>] (schedule_tail+0x0/0xd0) from [<8000de44>] (ret_from_fork+0x8/0x44)
r5:00000000 r4:00000000
Code: e59f3058 e1a04000 e1500003 1a000000 (e7f001f2)
mappings:
0x00008000-0x000d7000 r-xp 0x00000000 /bin/busybox
0x000df000-0x000e0000 rw-p 0x000cf000 /bin/busybox
0x000e0000-0x00103000 rw-p 0x000e0000 [heap]
0x76d66000-0x76ea1000 r-xp 0x00000000 /lib/libc.so.6
0x76ea1000-0x76ea9000 ---p 0x0013b000 /lib/libc.so.6
0x76ea9000-0x76eab000 r--p 0x0013b000 /lib/libc.so.6
0x76eab000-0x76eac000 rw-p 0x0013d000 /lib/libc.so.6
0x76eac000-0x76eaf000 rw-p 0x76eac000
0x76eaf000-0x76f47000 r-xp 0x00000000 /lib/libm.so.6
0x76f47000-0x76f4e000 ---p 0x00098000 /lib/libm.so.6
0x76f4e000-0x76f4f000 r--p 0x00097000 /lib/libm.so.6
0x76f4f000-0x76f50000 rw-p 0x00098000 /lib/libm.so.6
0x76f50000-0x76f6f000 r-xp 0x00000000 /lib/ld-linux.so.3
0x76f73000-0x76f74000 rw-p 0x76f73000
0x76f75000-0x76f76000 rw-p 0x76f75000
0x76f76000-0x76f77000 r--p 0x0001e000 /lib/ld-linux.so.3
0x76f77000-0x76f78000 rw-p 0x0001f000 /lib/ld-linux.so.3
0x7ee29000-0x7ee4b000 rw-p 0x7efde000 [stack]
---[ end trace 1b75b31a2719ed1e ]---
--
Gilles.
More information about the linux-arm-kernel
mailing list