Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

42107
469
422674


태그 : debug 요약보기전체보기목록닫기

1 2

[crash-utility]wakelock - rbtree debugging(디버깅) !

[crash-utility] wakelock 디버깅(rbtree: wakelocks_tree)[crash-utility]wakelock - rbtree debugging(디버깅) [리눅스커널][Trace32] wakelock 디버깅 - container_of[Kernel] wakelock debug patch 코어 덤프에서 wakelo...

fd(file descriptor: 파일 디스크립터) 디버깅 CrashTool

"echo c > /proc/sysrq-trigger" 명령어로 강제 커널 패닉을 유발시킨 다음 코어 덤프를 받아 보았어요.crash> bt -I C01003AC -S C59C3E20   0xD110E040PID: 4944   TASK: d110e040  CPU: 0   COMMA...

[Linux][Kernel] ftrace - early logging at boot time

리눅스 커널 디버깅 기능의 핵심 ftrace에 대해서 여러 번 소개했는데요.한 가지 재미있는 패치를 소개하려고 해요.ftrace 로깅을 하기 위해서는 아래와 같은 방식으로 시스 노드에 있는 파라미터를 설정해야 해요."echo 0 > /d/tracing/events/enable""echo 1 > /d/tracing/events/sched/sch...

[Linux][Kernel] 슬랩 Slab Memory 디버깅(Debugging) - 1

슬랩 디버그 컨피그를 키면 어떤 일을 더 할까요? 정리해볼께요콜트래이스 저장슬랩 메모리를 할당 및 해제할 때 콜트래이스를 저장해요. 이 콜트래이스는 struct track 변수에서 쓰이거든요. 우리가 알고 있는 슬랩의 종류는 30여 가지나 되죠. 이런 슬랩 메모리를 할당하고 해제할 때 콜스택을 모두 저장한다는 것은 시스템에 과부하를 주게 되요. 성능이 ...

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

#커널 크래시 디버깅 및 TroubleShootingRace로 mmc_wait_data_done() 함수에서 커널 패닉"cat /d/shrinker" 입력 시 커널 패닉함수 포인터 미지정으로 xfrm_local_error() 커널 패닉preempt 조건으로 ___might_sleep() 함수 크래시스택 카나리: __stack_chk_fail() 함수 크...

tombstone 시(시스템 크래시) - 커널 패닉 유발!

전 리눅스 커널 및 드라이버 코드를 주로 보는데요. 그런데 리눅스 시스템 프로그램 코드가 자주 봐야 해요.아 그리고 userspace에서 tombstone(무덤)이 떨어지면서 크래시가 종종 발생하거든요. 이런 이슈도 잡아야 되요.에러 시그니처는 아래와 같아요. 흠...Revision: '0'ABI: 'arm'pid: 1558, tid: 1891, nam...

[Linux][Kernel] ftrace: stack tracer !

리눅스 커널에서 제공하는 여러 profile tool 중에 ftrace가 있어요. 매우 강력해요. 잠깐 기억하는게, 저번 리눅스 커널 세미나에 갔었을 때 리눅스 커널 고수들이 ftrace로 벌이는 향연을 보고 참 라이브 공연에 있는 듯한 착각을 받았어요. ftrace 기능 중 stack tracer 기능을 잠깐 소개하고자 해요.리눅스 커널 고수...

[리눅스커널][디버깅] Red Hat Crash-Utility(크래시 유틸리티) 설치!

리눅스 커널 동네에서 전 세계적으로 쓰고 있는 디버깅 툴을 소개하고자 합니다.https://people.redhat.com/anderson/레드헷의 앤더슨이란 형님이 만든 오픈 소스로 배포한 리눅스 크래시(커널 패닉)을 분석할 수 있는 툴인데요, 리눅스 커널 커뮤니티에서도 이 툴을 활발히 쓰고 있죠.소스를 좀 받아 볼까요? 리눅스 머신에서 아래...

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

리눅스 커널 데이터 스트럭쳐 내 수 많은 linked list를 확인할 수 있어요.예를 들어 struct kset이란 구조체도 첫번 째 멤버로 list란 링크드 리스트죠.struct kset { struct list_head list; //<<-- spinlock_t list_lock; struct kobject kobj; const stru...

[Linux][Kernel] 전처리 Preprocess File 추출 방법!

한 4년 전 인가요? 아래 코드를 열심히 분석 했었어요. 그런데 나중에 알고 보니 CONFIG_KMEMCHECK, CONFIG_LOCKDEP 컨피그 내 코드가 컴파일 되지 않는 죽은 코드라는 걸 알게 되었어요. 그 때 참 머리를 쥐어 뜯으며 자책했죠. static inline void slab_free_hook(struct k...
1 2