AnsweredAssumed Answered

imx6q boot core: oops PREEMPT SMP ARM in udevd

Question asked by wei chen on Jul 8, 2018
Latest reply on Mar 7, 2019 by tommy duan

I'm using a customized board based on imx6q-sabresd board, yocto linux 4.9.88.


The udevd always crash at the boot time as below. But if I disable the CONFIG_SMP configuration in .config, there will be no crash.


udevd[157]: starting eudev-3.2.2
Unable to handle kernel paging request at virtual address ffffffff
pgd = a8ab4000
[ffffffff] *pgd=3bf5e861, *pte=00000000, *ppte=00000000
Internal error: Oops: 37 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 157 Comm: udevd Not tainted 4.9.88+g5e23f9d #27
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task: a89a9080 task.stack: a8a34000
PC is at skb_copy_datagram_iter+0x9c/0x220
LR is at unix_dgram_recvmsg+0x174/0x3c8
pc : [<8063b84c>]    lr : [<806d8a3c>]    psr: 60070013
sp : a8a35d98  ip : 00000000  fp : a8a35dcc
r10: 88a150c0  r9 : 88a150c0  r8 : 00000000
r7 : 00000000  r6 : 00000000  r5 : 00000040  r4 : ffffffff
r3 : ffffffff  r2 : a8a35f60  r1 : 00000000  r0 : 88a150c0
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 10c53c7d  Table: 38ab404a  DAC: 00000051
Process udevd (pid: 157, stack limit = 0xa8a34210)
Stack: (0xa8a35d98 to 0xa8a36000)
5d80:                                                       a8a35dcc 8063b35c
5da0: 00000000 a8a35f60 a8a864c8 a8a88000 00000040 a8a881ec 00000000 00000000
5dc0: 88a150c0 00000000 a8a35e44 806d8a3c a8a35df4 a8a35dec a8a35e58 a6078480
5de0: 00000000 a8a35f58 00000018 88a150c0 00000000 ffffffa1 00000001 00000000
5e00: 00000000 a8a35e60 00000000 00000001 7e983608 00000000 a8a35f58 a8a35e5c
5e20: a8a35e54 806d88c8 00000040 a8a35ea0 7e983870 7e983760 a6078480 00000000
5e40: a8a35e54 8062c0cc a8a35f58 00000040 a8a35f44 8062dd90 00000000 00000000
5e60: 7e983600 00000000 00000000 a8a35e84 a845b600 60070013 a845b634 a8a35ea0
5e80: a8a35e94 807bea4c a8a35e94 807bee00 a8a35ecc 80244d64 3b9ac766 00000000
5ea0: a8a35ea0 a8a35ea0 a845b600 00000008 7e983660 a8958480 00000000 a8958480
5ec0: a845b600 a8a35f10 a8a35f74 80245dc4 15cd8865 802247dc 00000003 00000000
5ee0: 00000000 00000000 a8a97480 60070013 80c0e780 ab703040 00000000 00000001
5f00: 002dc6bf 00000000 a845b80c a845b634 7b6e4465 00000001 00000006 a8a35f64
5f20: 00005beb 7e983870 00000040 a6078480 00000129 80107de4 a8a34000 00000000
5f40: a8a35f9c 8062ec0c 00000000 00000000 00000000 fffffff7 00000000 00000000
5f60: 00000000 00000000 00000000 a8a35e60 00000001 7e983590 7e983760 00000018
5f80: 00000020 00000000 00000003 7e983870 0003dad8 0003e4f4 a8a35fa4 8062ec44
5fa0: 0005c3d8 80107c20 7e983870 0003dad8 00000008 7e983870 00000040 00000000
5fc0: 7e983870 0003dad8 0003e4f4 00000129 0003da54 7e983760 0005c358 0005c3d8
5fe0: 0005c294 7e983588 00015c88 76e8a3fc 60070010 00000008 6ffb0000 44100000
[<8063b84c>] (skb_copy_datagram_iter) from [<806d8a3c>] (unix_dgram_recvmsg+0x174/0x3c8)
[<806d8a3c>] (unix_dgram_recvmsg) from [<8062c0cc>] (sock_recvmsg+0x1c/0x20)
[<8062c0cc>] (sock_recvmsg) from [<8062dd90>] (___sys_recvmsg+0x94/0x164)
[<8062dd90>] (___sys_recvmsg) from [<8062ec0c>] (__sys_recvmsg+0x40/0x6c)
[<8062ec0c>] (__sys_recvmsg) from [<8062ec44>] (SyS_recvmsg+0xc/0x10)
[<8062ec44>] (SyS_recvmsg) from [<80107c20>] (ret_fast_syscall+0x0/0x48)
Code: e0837000 eafffff1 e51b702c e59a4098 (e5d43000)
---[ end trace 7bc5230c32440761 ]---
BUG: using smp_processor_id() in preemptible [00000000] code: udevd/160
caller is debug_smp_processor_id+0x1c/0x20
CPU: 1 PID: 160 Comm: udevd Tainted: G      D         4.9.88+g5e23f9d #27
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[<8010f330>] (unwind_backtrace) from [<8010b988>] (show_stack+0x14/0x18)
[<8010b988>] (show_stack) from [<8038dd28>] (dump_stack+0x7c/0x90)
[<8038dd28>] (dump_stack) from [<803a9464>] (check_preemption_disabled+0x128/0x12c)
udevd[168]: failed to send result of seq 1112 to main daemon: Connection refused
[<803a9464>] (check_preemption_disabled) from [<803a9484>] (debug_smp_processor_id+0x1c/0x20)
[<803a9484>] (debug_smp_processor_id) from [<8016743c>] (osq_lock+0x10/0x1b8)
[<8016743c>] (osq_lock) from [<801687d4>] (rwsem_optimistic_spin+0x60/0x17c)
[<801687d4>] (rwsem_optimistic_spin) from [<807bd7b8>] (rwsem_down_write_failed+0x4c/0x24c)
[<807bd7b8>] (rwsem_down_write_failed) from [<807bd050>] (down_write+0x54/0x58)
[<807bd050>] (down_write) from [<801e76bc>] (unlink_file_vma+0x28/0x44)
[<801e76bc>] (unlink_file_vma) from [<801e1924>] (free_pgtables+0x84/0xd0)
[<801e1924>] (free_pgtables) from [<801e9018>] (exit_mmap+0xf8/0x1e4)
[<801e9018>] (exit_mmap) from [<8012773c>] (mmput+0x44/0xec)
[<8012773c>] (mmput) from [<8012cccc>] (do_exit+0x4b8/0x9dc)
[<8012cccc>] (do_exit) from [<8012e26c>] (do_group_exit+0x40/0xc0)
[<8012e26c>] (do_group_exit) from [<8012e300>] (__wake_up_parent+0x0/0x24)
[<8012e300>] (__wake_up_parent) from [<80107c20>] (ret_fast_syscall+0x0/0x48)