Есть один проектик, являющийся модулем ядра. При работе с ним в ядрах больше 4.1 ядро кричит:
[ 74.613547] EPRD : version : 0.5.0 [ 152.947646] EPRD : barriers : enabled [ 152.947671] EPRD : eprda size : 1073741824 [ 152.947703] EPRD : cache size : 1024 [ 152.948160] BUG: unable to handle kernel NULL pointer dereference at (null) [ 152.948232] IP: [< (null)>] (null) [ 152.948272] PGD 0 [ 152.948295] Oops: 0010 [#1] PREEMPT SMP [ 152.948333] Modules linked in: eprd(O) fuse nct6775 hwmon_vid intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp joydev mousedev coretemp hid_generic kvm_intel usbhid hid r8169 kvm mii crct10dif_pclmul snd_hda_codec_via snd_hda_codec_generic eeepc_wmi asus_wmi i915 evdev sparse_keymap drm_kms_helper drm led_class iTCO_wdt crc32_pclmul iTCO_vendor_support rfkill crc32c_intel snd_hda_intel ghash_clmulni_intel mac_hid cryptd snd_hda_controller serio_raw snd_hda_codec shpchp intel_gtt snd_hda_core snd_hwdep snd_pcm snd_timer i2c_algo_bit i2c_i801 psmouse snd i2c_core pcspkr soundcore mei_me mei lpc_ich video processor button wmi sch_fq_codel ip_tables x_tables ext4 crc16 mbcache jbd2 sr_mod cdrom sd_mod atkbd libps2 ahci libahci libata ehci_pci scsi_mod ehci_hcd usbcore usb_common i8042 serio [ 152.948870] CPU: 1 PID: 1312 Comm: eprda Tainted: G O 4.1.5-1-ARCH #1 [ 152.948904] Hardware name: System manufacturer System Product Name/P8H61-MX, BIOS 0702 03/23/2012 [ 152.948973] task: ffff8801ac43f010 ti: ffff88018e850000 task.ti: ffff88018e850000 [ 152.949013] RIP: 0010:[<0000000000000000>] [< (null)>] (null) [ 152.949045] RSP: 0018:ffff88018e853d90 EFLAGS: 00010292 [ 152.949068] RAX: ffffffff8161f600 RBX: ffff88018e854000 RCX: ffff88018e853da0 [ 152.949096] RDX: 0000000000001000 RSI: ffff8801b866c020 RDI: ffff880084754400 [ 152.949124] RBP: ffff88018e853dd8 R08: ffffffff8160a300 R09: ffff8801b866c000 [ 152.949152] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000001000 [ 152.949179] R13: 0000000000000000 R14: ffff8801b866c000 R15: ffffffffffffffff [ 152.949208] FS: 0000000000000000(0000) GS:ffff8801bfa80000(0000) knlGS:0000000000000000 [ 152.949240] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 152.949286] CR2: 0000000000000000 CR3: 000000000180b000 CR4: 00000000000406e0 [ 152.949337] Stack: [ 152.949355] ffffffffa05be0e6 ffff88018e853dd8 0000000000000000 ffff88018e8fe000 [ 152.949395] 0000000000000000 ffff8801b866c020 0000000000000000 ffff8801b866c000 [ 152.949433] ffff880096056e00 ffff88018e853eb8 ffffffffa05bf4cb ffff88018e853e70 [ 152.949472] Call Trace: [ 152.949491] [<ffffffffa05be0e6>] ? eprd_file_read+0x46/0xa0 [eprd] [ 152.949521] [<ffffffffa05bf4cb>] eprd_thread+0x60b/0xb40 [eprd] [ 152.949552] [<ffffffff810bc6d0>] ? wake_atomic_t_function+0x60/0x60 [ 152.949582] [<ffffffffa05beec0>] ? determine_iotype+0xb0/0xb0 [eprd] [ 152.949612] [<ffffffff81097818>] kthread+0xd8/0xf0 [ 152.949637] [<ffffffff81097740>] ? kthread_worker_fn+0x170/0x170 [ 152.949667] [<ffffffff8158c322>] ret_from_fork+0x42/0x70 [ 152.949692] [<ffffffff81097740>] ? kthread_worker_fn+0x170/0x170 [ 152.949718] Code: Bad RIP value. [ 152.949748] RIP [< (null)>] (null) [ 152.949771] RSP <ffff88018e853d90> [ 152.949786] CR2: 0000000000000000 [ 152.967569] ---[ end trace a0ce5363667b9dc4 ]---
Собственно, вопрос. Что надо включить в ядре/добавить в код/параметры gcc для того, чтобы выводилось больше информации. Или чтобы можно было с gdb как-нибудь отдебажить работу функций модуля.
С дебагом на таком уровне мало знаком, так что не обессудьте, если вопросы мои глупы.