
- 2018/04/09 21:53
- rousalome.egloos.com/9974206
- 덧글수 : 9

핑백
Linux Kernel(4.14) Hacks : [Linux][Kernel]vmalloc - debugging(1) 2018-06-15 23:29:01 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : slab - kmem_cache 소개 및 slab object(슬랩 오브젝트) Overview 2018-06-15 23:31:16 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [Kernel] 슬랩 페이지(slab page)가 관리하는 슬랩 오브젝트 갯수 2018-06-15 23:32:14 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : vmalloc - overview(1) 2018-06-15 23:32:56 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [Linux][Kernel] 슬랩 메모리: kfree 소개 2018-06-15 23:33:07 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [0410] Slab Memory Corruption Case Study#1 - 로그 분석(1) 2018-06-15 23:33:31 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [0410] Slab Memory Corruption Case Study#1 - 디버깅(2) 2018-06-15 23:33:39 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [0410] Slab Memory Corruption Case Study#2 - 디버깅 2018-06-15 23:33:51 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [0410] Slab Memory Corruption Case Study#3 - 디버깅 2018-06-15 23:34:01 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [Linux][Kernel]메모리 디스크립터 - struct mm_struct 구조체 소개 2018-06-15 23:34:09 #
... object 자료구조 - 페이지, 슬랩 캐시 6. Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case Study#1 - 로그 분석 9. Slab Memo ... more
Linux Kernel(4.14) Hacks : [Linux][Kernel] 슬랩 Slab Memory 소개 2018-08-15 12:10:24 #
... Slab(슬랩) 메모리: kfree 소개 7. Slab(슬랩) 메모리: kmalloc 소개 8. Slab Memory Corruption Case ... more
덧글
-
ym0914 2020/12/10 13:56 # 삭제 답글
"17번째 줄 덤프를 보면 0xC4EBE308 메모리 공간에서 (struct track*) 멤버가 위치한다고 했죠. 그럼 이 주소를 (struct track*)으로 캐스팅해서 볼까요? 결과는 다음과 같아요.
(struct track *) (struct track*)0xC4EBE304 = 0xC4EBE304 -> ("
0xC4FBE308 이 아닌 0xC4FBE304 를 casting 하는 이유가 있을까요?
0xC4FBF304 주소에는 0xC4EBD0C0 가 저장되어 있어 "다음에 할당할 메모리 주소" 라고 이해했었습니다.
16 NSD:C4EBE304| C0 D0 EB C4 0xC4EBD0C0 -
AustinKim 2020/12/10 14:56 #
다시 꼼꼼히 읽어보니 오타군요. 바로 수정했습니다.
'0xC4EBE308'주소가 아니라 '0xC4EBE304' 주소가 struct track 구조체의 시작 주소입니다.
이제 포스팅을 업데이트할 때, 꼼꼼히 리뷰하고 올려야 겠습니다.
감사드리고, 즐거운 하루 되십시오. -
2020/12/10 14:56 # 답글
-
ym0914 2020/12/10 15:37 # 삭제 답글
넵 확인 감사합니다.
0xC4FBF304 에는 "다음에 할당할 메모리 주소" 가 들어있다고 하셨는데요,
(struct track*)0xC4FBF304 으로 casting 하게 되면,
[mm/slub.c]
1 #define TRACK_ADDRS_COUNT 16
2 struct track {
3unsigned long addr;/* Called from address */ //<<-[1]
4 #ifdef CONFIG_STACKTRACE
5unsigned long addrs[TRACK_ADDRS_COUNT];/* Called from address */ //<-[2]
6 #endif
7int cpu;/* Was running on cpu */ //<-[3]
8int pid;/* Pid context */ //<-[4]
9unsigned long when;/* When did the operation occur */ //<-[5]
10 };
위 구조체에서 "addr" 변수에 저장되게 됩니다. "addr" 변수는 메모리를 할당한 함수 주소 정보라고 하는데
"다음에 할당할 메모리 주소' vs "현재 메모리를 할당한 함수 주소" 중 어떤게 맞을지 헷갈리네요..
되 -
AustinKim 2020/12/10 16:49 #
"현재 메모리를 할당한 함수 주소"가 맞습니다. 명확하지 않게 설명한 것 같아, 이 포스트의 내용을 수정했습니다.
관련 내용은 아래 새롭게 올린 포스팅을 참고하세요.
http://rousalome.egloos.com/10021949
댓글로 달려다가, 코드 분석의 양이 많아져 아예 새롭게 올렸습니다.
즐거운 하루 되세요. -
ym0914 2020/12/10 15:40 # 삭제 답글
그리고 오타에 대해 너무 스트레스 받으시지 않으셨으면 합니다.
이미 너무 훌륭한 게시글을 포스팅 해주시고 계신데 사소한 오타는 크게 문제되지 않습니다. (다른분들이 보시다가 발견해주시기도 하구요)
또한 의미전달은 충분히 되고 있으니 너무 신경쓰시지 마시고 계속 포스팅 해주셨으면 합니다.
감사합니다!! -
AustinKim 2020/12/10 16:51 #
좋게 봐주셔서 감사합니다.
그런데 질문의 내공으로 보아 실전 개발자이신 것 같은데요. 앞으로 실전 개발자라고 가정하고 댓글에 답을 드리는 게 좋을 것 같단 생각이 듭니다. -
ym0914 2020/12/10 17:20 # 삭제 답글
예 개발자 이나 아직 미숙합니다 ㅠㅠ. 블로그 통해서 많이 배우고 있어 항상 감사한 마음 갖고 있습니다. 감사합니다!! -
AustinKim 2020/12/11 08:41 #
질문의 내용으로 보아 상당히 내공이 있으신 분 같습니다.
제 블로그에 올린 글을 좋게 봐주시고 꼼꼼히 읽고 댓글 주셔서 정말 감사합니다.
앞으로도 꾸준히 개발에 도움이 될만한 유용한 컨텐츠를 올릴 예정이니 잘 참고하셨으면 좋겠습니다.
즐거운 금요일 되세요. 감사합니다.
최근 덧글