TRACE32

Category
아이템: TRACE32(30)
포스트 갯수30

[Linux][Kernel][Stability] Kernel panic @0x0 from xfrm_local_error+0x4c

By Guillermo Austin Kim | 2017년 12월 7일 | 
커널 패닉이 났어요.네트워크 드라이버 리눅스 커널 코드에서 발생한 것 같은데요. 음.일단 당황하지 마시구요. 차근 차근 커널 로그와 코어 덤프를 살펴보면, 정답이 나와요. 일단 커널 로그를 보면, 프로그램 카운터가 0x0을 가르키고 있네요.음... 그리고링크 레지스터(R14)가 0xc0adc274(LR is at xfrm_local_error+0x4c/0x58) 을 가르키고 있습니다.[ 262.401303] Unable to handle kernel NULL pointer dereference at virtual address 00000000[ 262.401365] pgd = dbdc4000[ 262.401389] [00000000] *pgd=00000000[ 262.401433] Internal

[Linux][Kernel] T32 - Linked List 디버깅 cmm Script

By Guillermo Austin Kim | 2017년 12월 3일 | 
리눅스 커널 데이터 스트럭쳐 내 수 많은 linked list를 확인할 수 있어요.예를 들어 struct kset이란 구조체도 첫번 째 멤버로 list란 링크드 리스트죠. struct kset { struct list_head list; //<<-- spinlock_t list_lock; struct kobject kobj; const struct kset_uevent_ops *uevent_ops;}; 실제 코어 덤프를 T32로 열어서 상세 구조체를 보면 아래와 같거든요.kset_find_obj( [R5] kset = 0xED74A980 -> ( [NSD:0xED74A980] list = ( //<<-- [NSD:0xED74A980] next = 0