Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

793
557
422266


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

1

커널 오브젝트 Kernel Object - rbtree debugging(child directory) - (1)!

Crash Tool로 커널 오브젝트의 rbtree를 디버깅하는 방법에 대해 간단히 소개하고자 해요.아래와 같은 커널 오브젝트가 있다고 가정해보아요. Sys node의 위치는 /sys/devices/system/cpu/cpu3 이겠죠?현재 struct kobject->cpu는 "cpu3"을 가르키고 있는데요, 그럼 이 커널 오브젝트의 하위 child...

ARM64- 스택 푸쉬(Stack Push) Userspace -> Kernel Space

유저 스페이스에서 커널 스페이스로 전환하려면 시스템 콜을 호출해야 한다 것은 마르고 닳도록 들었죠?이번에는 ARM64 Architecture에서 EL0 ->EL1로 변환될 시, Stack을 어떻게 Push하는 지 살펴볼께요."rild"란 프로세스의 콜스택을 예를 들어 볼 께요. 잘 보면, 유저 공간에서 sendto란 시스템 콜을 호출했다는 걸 알 ...

Process 프로세스 상태 (1) - 런큐(Runqueue) 디버깅

리눅스 커널 책을 보면 가장 먼저 프로세스에 대한 내용을 읽을 수 있습니다. 그 중에 프로세스 상태가 바뀌는 동작에 대해 혹시 잘 알고 있나요? 예를 들면 프로세스는 Ready 상태에 있다가 CPU를 점유하면 Running 상태로 바뀌고 Running 상태에서 CPU을 양보하면 Ready로 바뀌었다가 나중에 Sleep으로 바뀐다. 이런 방식입니다. 이렇...

[Linux][Kernel] signal - signal handler data structure

리눅스 커널 코드 리뷰를 많이 했는데요.리눅스 시스템 프로그램이 커널과 어떻게 연동되는지 한 가지 점검해볼께요.유저 공간에서 signal을 설정하는 코드를 많이 볼 수 있습니다.아래는 SIGINT란 시그널이 전달되었을 때 linux_sig()란 함수가 호출되는 간단한 코드입니다.그럼 아래 시그널 콜백 함수가 어떻게 실행이 될까요?#include <...

[Linux][Kernel] softirq - 호출되는 모듈 (h->action)

# 인터럽트 후반부 처리1 IRQ Thread(threaded IRQ) 란  2. 인터럽트 후반부 처리(Bottom Half) 소개3. IRQ Thread는 언제 생성할까?[1] 4. IRQ Thread는 언제 생성할까?[2]  5. ksoftirqd 쓰레드란6. Soft IRQ 소...

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

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

Crash 명령어!

1