Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

9365
557
421924


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

1 2 3 4 5

watchdog reset - race in ipv6_ifa_notify() - 리눅스 커널!

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

ARM64- Stack Push Userspace -> Kernel Space 코드리뷰

유저 공간에서 실행된 레지스터가 커널 Bottom Stack에 Push 되는 디버깅 정보를 예전 페이지에 업데이트했잖아요.아래와 같은 메모리 덤프를 확인했었죠.(출처:http://rousalome.egloos.com/9966225)NUD:FFFFFFE4DE6A7EB8| 3C 6B 77 2B 46 76 A8 C2  0xC2A876462B776B3...

IRQ Stack(ARM64) - Debugging(디버깅)

아래 블로그에서 IRQ Stack(ARM64)에 대해 소개를 했는데요.http://rousalome.egloos.com/9966360이번에는 직접 코어 덤프에서 IRQ Stack 덤프를 살펴볼께요.IRQ Stack Feature를 지원하는 프로세스의 콜스택을 Trace32로 잡아서 확인해 보았어요.참고로, 아래는 CPU0에서 idle process가 돌...

arm instruction(명령어) - strleb

strleb란 명령어를 본 적이 있나요? 전 잘 몰라서요, 이 명령어가 어떻게 동작하는지 테스트를 해봤거든요.그 내용을 정리해서 업데이트할께요.제가 만난 명령어는 아래와 같거든요.cmp     r3, #2                  @ 1&nb...

arm - ldrd 명령어

ldrd 명령어에 대해서 소개하고자 해요.아래와 같은 ldr 명령어는 많이 봤는데, 갑자기 이런 명령어가 보이니 당황스럽기도 하네요.ldr  r2, [r4,#0x8]자 이제, 구체적으로 아래 Instruction이 실행된 후 레지스터가 어떻게 업데이트 되는지 살펴볼께요.ldrd    r2,r3,[r4,#0x8] 참고로...

slab - kmem_cache 소개 및 slab object(슬랩 오브젝트) Overview

# 리눅스 커널 Memory Management1. 슬랩 Slab Memory 소개  2. 슬랩 Slab Memory 디버깅(Debugging)   3. slab - kmem_cache 소개 및 slab object(슬랩 오브젝트) Overview   4. 슬랩 페이지(slab page)가 ...

IRQ Stack(ARM64) - Overview

IRQ Stack란 뭘까요. IRQ가 쓰는 스택이라고 말할 수 있나요? 이번 시간에 IRQ Stack에 대한 내용을 조금 더 짚어 보겠습니다. IRQ Stack이란 IRQ가 떳을 때 사용하는 스택 공간입니다. 달리 설명하면 인터럽트 컨택스트로 코드가 실행될 때 스택에 지역 변수를 할당 받고 함수를 호출할 때 프레임 포인터 레지스터를 스택에 푸쉬...

IPI (Inter Processor Interrupts) 소개 및 디버깅 패치 (1)!

IPI (Inter Processor Interrupts)란 용어를 들어본 적이 있나요?각 CPU간 통신을 하고 싶은 경우가 있거든요. 예를 들면, 다른 CPU를 깨우고 싶거나 다른 CPU가특정 콜백 함수를 호출해서 원하는 동작을 시키고 싶은 경우죠. CPU 부하을 점검해서 일을 덜하고 있는 다른 CPU에 일을 시키는 네트워크 디바이스 드라이버...
1 2 3 4 5