haogroot / kthread_example

linux kernel thread example
0 stars 1 forks source link

kernel page fault when remove kthread_test module #1

Open haogroot opened 4 years ago

haogroot commented 4 years ago

Reference to kthread_in_kthread branch.

Reproduce Step

  1. $ sudo insmod kthread_test.ko
  2. $ sudo rmmod kthread_test.ko

kernel page fault log:

[243007.808061] kthread_in_kthread: alive. smp_processor_id 1
[243007.808062] =========================================
[243012.928049] kthread_in_kthread: alive. smp_processor_id 1
[243012.928055] =========================================
[243012.928062] my_kthread: alive. smp_processor_id 1
[243012.928064] =========================================
[243016.998062] kthread_exit() start.
[243016.998064] smp_processor_id 7
[243016.998065] stop kthread
[243017.952062] my_kthread: alive. smp_processor_id 1
[243017.952068] =========================================
[243017.952072] my kthread: stop
[243017.952137] kthread_exit() finish.
[243017.952142] =========================================
[243018.048084] BUG: unable to handle page fault for address: ffffffffc0f7b03e
[243018.048092] #PF: supervisor instruction fetch in kernel mode
[243018.048095] #PF: error_code(0x0010) - not-present page
[243018.048098] PGD 38ea0e067 P4D 38ea0e067 PUD 38ea10067 PMD 467787067 PTE 0
[243018.048106] Oops: 0010 [#18] SMP NOPTI
[243018.048111] CPU: 1 PID: 6907 Comm: demo-child Tainted: G      D    OE     5.3.0-46-generic #38-Ubuntu

[243018.048119] RIP: 0010:0xffffffffc0f7b03e
[243018.048126] Code: Bad RIP value.
[243018.048128] RSP: 0000:ffffacd7c0757f00 EFLAGS: 00010246
[243018.048132] RAX: 0000000000000000 RBX: ffff926d63a34680 RCX: 0000000000000000
[243018.048135] RDX: 0000000000000000 RSI: 0000000000000246 RDI: 0000000000000000
[243018.048138] RBP: ffffacd7c0757f00 R08: 0000000000000002 R09: 0000000000018577
[243018.048140] R10: 0000dd06407ef260 R11: 0000dd06407ef260 R12: ffff926d3aff2960
[243018.048143] R13: ffff926d68ca6340 R14: ffffffffc0f7c1c8 R15: ffffacd7c073fe28
[243018.048146] FS:  0000000000000000(0000) GS:ffff926d70440000(0000) knlGS:0000000000000000
[243018.048149] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[243018.048152] CR2: ffffffffc0f7b014 CR3: 000000038ea0a001 CR4: 00000000003606e0
[243018.048154] Call Trace:
[243018.048166]  kthread+0x104/0x140
[243018.048172]  ? kthread_park+0x80/0x80
[243018.048180]  ret_from_fork+0x1f/0x40
[243018.048184] Modules linked in: rfcomm acpi_call(OE) ccm cmac ... pinctrl_intel video [last unloaded: kthread_test]
[243018.048279] CR2: ffffffffc0f7b03e
[243018.048283] ---[ end trace bb782952598375a6 ]---
[243018.048287] RIP: 0010:0xffffffffc0f744a5
[243018.048292] Code: Bad RIP value.
[243018.048294] RSP: 0018:ffffacd7c3f6fd60 EFLAGS: 00010282
[243018.048297] RAX: 0000000000000118 RBX: ffff926d6dccaf00 RCX: 0000000000000002
[243018.048299] RDX: 0000000000000000 RSI: 00000000fffffe01 RDI: ffffffffbd6e602f
[243018.048302] RBP: ffffacd7c3f6fdd0 R08: 0000000000000218 R09: 0000000000024029
[243018.048304] R10: 0000000000012014 R11: 0000000000000001 R12: ffff926bbb002000
[243018.048307] R13: ffff926d41849380 R14: ffff926d41849380 R15: ffffacd7c10a3e10
[243018.048310] FS:  0000000000000000(0000) GS:ffff926d70440000(0000) knlGS:0000000000000000
[243018.048312] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[243018.048315] CR2: ffffffffc0f7447b CR3: 000000038ea0a001 CR4: 00000000003606e0
haogroot commented 4 years ago

請思考誰去使用 kernel page