익명페이지

Category
아이템: 
포스트 갯수1

[리눅스커널] 익명 페이지 메모리 누수(Memory Leak) 디버깅 - TRACE32

By Guillermo Austin Kim | 2019년 12월 16일 | 
많은 리눅스 시스템 개발자들은 자신이 개발하고 있는 리눅스 커널의 버전이 주류였으면 하는 바램이 있다. 하지만 현실은 다르다. 현재 리눅스 커널의 최신 버전인 4.19(LTS 기준)으로 개발하고 있어도 이전 리눅스 커널 버전에서 다뤘던 자료 구조에 대해 알고 있어야 한다. 이번에는 커널 3.10 버전에서 struct anon_vma 구조체와 struct address_space 구조체의 관계에 대해 알아보겠다. 먼저 다음 TRACE32 명령어를 입력해 3번째 프레임의 페이지 디스크립터를 확인하자. $(TRACE32 명령어) v.v %d %t %h %i (struct page[0x7FFF])*mem_map (static struct page [32767]) (struct page[0x7FFF])*me