커널이 죽는데 디버깅 관련하여 질문 입니다.

커널이 죽으면서 아래와 같이 메세지를 뿌리고 있습니다.
찾아보기론 어딘가에서 null pointer 접근하여 문제가 생기는듯 한데
어떤 함수인지 주소 통해서 systemmap 에서 찾을수 있다고 하던데
문제되는 주소가 어떤건지 모르겠네요 ㅠㅠ
도움좀 부탁드립니다~
[ 1100.414366] BUG: unable to handle kernel timeout_cnt=[1]
[ 1100.418317] NULL pointer dereference at 0000000000000003
[ 1100.418317] IP: [] e1000_xmit_frame+0x5d/0x935 [e1000e]
[ 1100.418317] PGD 76e94067 PUD 767e1067 PMD 0
[ 1100.418317] Oops: 0000 [#1] SMP
[ 1100.418317] last sysfs file: /sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-0022/bypass0
[ 1100.418317] CPU 3
[ 1100.418317]
[ 1100.418317] Pid: 0, comm: kworker/0:1 Not tainted 2.6.39.4 #20 Intel Bridgeport/Bridgeport
[ 1100.418317] RIP: 0010:[] [] e1000_xmit_frame+0x5d/0x935 [e1000e]
[ 1100.418317] RSP: 0018:ffff88007fcc3500 EFLAGS: 00010207
[ 1100.418317] RAX: 00000000ffff8800 RBX: ffff880076cddc60 RCX: 0000000000000000
[ 1100.418317] RDX: 0000000000000001 RSI: ffff880077114000 RDI: ffff880076cddc60
[ 1100.418317] RBP: ffff88007fcc35a0 R08: ffff880076aea29c R09: ffff880077595840
[ 1100.418317] R10: 0000000000000000 R11: ffff88007fcc3640 R12: 0000000076ce54c0
[ 1100.418317] R13: ffff88007777a6d0 R14: ffff880077114700 R15: ffff880077114000
[ 1100.418317] FS: 0000000000000000(0000) GS:ffff88007fcc0000(0000) knlGS:0000000000000000
[ 1100.418317] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 1100.418317] CR2: 0000000000000003 CR3: 0000000077577000 CR4: 00000000000006e0
[ 1100.576006] timeout_cnt=[6]
[ 1100.418317] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1100.584008] timeout_cnt=[1]
[ 1100.418317] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 1100.418317] Process kworker/0:1 (pid: 0, threadinfo ffff88007a3c6000, task ffff88007a35f860)
[ 1100.418317] Stack:
[ 1100.418317] 0000000000011280 0000000000000046 ffff88007fcc3560 0000000000000001
[ 1100.418317] 0000000000000003 ffffe8ffffc60358 0000000000000000 0000000000000000
[ 1100.418317] ffff880076b58280 ffffffff810407e8 ffff880077114000 ffffffff81035f3b
[ 1100.418317] Call Trace:
[ 1100.418317]
[ 1100.418317] [] ? default_wake_function+0xd/0xf
[ 1100.418317] [] ? __wake_up_common+0x49/0x7f
[ 1100.418317] [] dev_hard_start_xmit+0x490/0x559
[ 1100.418317] [] sch_direct_xmit+0x66/0x142
[ 1100.418317] [] dev_queue_xmit+0x32c/0x4f2
[ 1100.418317] [] br_dev_queue_push_xmit+0x8f/0x95 [bridge]
[ 1100.418317] [] br_nf_dev_queue_xmit+0x7e/0x82 [bridge]
왠지
[ 1100.418317] [] ? default_wake_function+0xd/0xf
[ 1100.418317] [] ? __wake_up_common+0x49/0x7f
[ 1100.418317] [] dev_hard_start_xmit+0x490/0x559
[ 1100.418317] [] sch_direct_xmit+0x66/0x142
[ 1100.418317] [] dev_queue_xmit+0x32c/0x4f2
[ 1100.418317] [] br_dev_queue_push_xmit+0x8f/0x95 [bridge]
[ 1100.418317] [] br_nf_dev_queue_xmit+0x7e/0x82 [bridge]
이 중에 있을거 같은 느낌인데요.
"BUG: unable to handle kernel
"BUG: unable to handle kernel timeout_cnt=[1]"
복구할 수 없는 예외상황이 예상되는 경우 BUG() 매크로를 사용해서 실행을 중단시키고,
디버깅을 하도록 배려할 수 있습니다.
default_wake_function() 내부에 있겠죠.
+0xd 면... 함수 진입하자마자 훅 가셨겠네요.
댓글 달기