Studying Security

[glibc] malloc 정리4 - tcache 본문

개념 정리/Heap

[glibc] malloc 정리4 - tcache

J4guar 2022. 4. 21. 17:28
728x90
반응형

tcache (thread local cache)

  • 각 thread에서 독립적으로 할당되는 cache 저장소

tcache의 특징

  • 각 thread는 64개의 tcache를 가지고 있습니다.

  • LIFO 방식으로 사용되는 single linked list
  • 하나의 tcache는 같은 크기의 chunk들만 보관합니다.
  • 리눅스는 각 tcache에 보관할 수 있는 chunk의 개수를 7개로 제한하고 있습니다.
    • 무제한으로 chunk를 보관할 수 있으면 메모리 낭비로 이어질 수 있기 때문입니다.

  • tcache에 들어간 chunk들은 병합되지 않습니다.
  • tcache에는 32byte ~ 1040byte 크기를 갖는 chunk들이 보관됩니다.

  • 이 범위에 속하는 chunk들을 할당 및 해제할 때 tcache를 가장 먼저 조회합니다.
  • tcache가 가득찼을 경우 적절한 bin으로 분류됩니다.
반응형

'개념 정리 > Heap' 카테고리의 다른 글

[Heap Exploit] Heap Spray  (0) 2022.05.01
[Heap Exploit] Double Free Bug(DFB)  (0) 2022.04.22
[Heap Exploit] Use-After-Free(UAF)  (0) 2022.04.21
[glibc] malloc 정리3 - arena  (0) 2022.04.20
[glibc] malloc 정리2 - bin  (0) 2022.04.20
Comments