리눅스커널
Posts
154 posts[리눅스커널][가상파일시스템] 파일 객체: close() 함수 연산 세부 동작 분석
파일 객체: close() 함수 연산 세부 동작 분석 다음 파일을 닫을 때 호출하는 sys_close() 함수 코드를 볼 차례입니다.1 SYSCALL_DEFINE1(close, unsigned int, fd)2 {3 int retval = __close_fd(current->files, fd);45 /* can't restart close syscall because file table entry was cleared */6 if (unlikely(retval == -ERESTARTSYS ||7 retval == -ERESTARTNOINTR ||8 retval == -ERESTARTNOHAND ||9 retval == -ERESTART_RESTARTBLOCK))10
[리눅스커널][디버깅] 슬럽(슬랩) 오브젝트 레드존 데이터 구조 T32로 메모리 디버깅(2)
할당(Alloc)된 슬럽 오브젝트 데이터 스트럭처 파악하기 이전 포스팅에서는 Free 슬럽 오브젝트 주소인 0xC0067BC0 기준으로 어떤 패턴의 자료구조인지 파악했습니다. 이번 시간에서는 이미 할당된 슬럽 오브젝트의 데이터 스트럭처를 파악하겠습니다. ________address|_data________|value_____________|symbol NSD:C0067A80| 41 1A 17 00 0x171A41 //<-- "kmalloc-64" 슬럽 오브젝트 시작 주소 NSD:C0067A84| 11 00 00 00 0x11 NSD:C0067A88| 01 00 00 00 0x1 NSD:C0067A8C| 01 00 00
[리눅스커널][디버깅] 슬럽(슬랩) 오브젝트 레드존 데이터 구조 T32로 메모리 디버깅(1)
이번 시간에서는 슬럽 오브젝트의 레드 존에 대해서 확인하는 시간을 갖겠습니다.여러 개발자들이 리눅스 드라이버를 개발하다 보면 슬럽 오브젝트를 깨버리는 코드를 작성할 수 있습니다.결과 메모리가 오염돼서 랜덤하게 커널 크래시가 발생합니다. 이런 상황에 메모리 오염을 일으킨 범인을 찾기 위해 슬럽 오브젝트에 포이즌과 레드존을 추가했습니다. Free 슬럽 오브젝트 데이터 스트럭처 확인하기 먼저 kmalloc_caches 전역 변수를 통해 "kmalloc-64" 슬럽 캐시 주소를 알아봅시다.01 (static struct kmem_cache * [14]) kmalloc_caches = (02 [0x0] = 0x0,03 [0x1] = 0x0,04 [0x2] = 0xE4402340,05 [0
[리눅스커널][디버깅] 슬럽(슬랩) 캐시 오브젝트 T32로 메모리 디버깅하기
리눅스 커널 동적 메모리 할당을 위해 슬럽 캐시를 씁니다.이번 시간에서는 kmalloc-64 슬럽 캐시 자료 구조를 통해 kmalloc-64 슬럽 오브젝트를 확인하는 방법을 소개합니다. 먼저 kmalloc-size 타입 슬럽 캐시를 관리하는 kmalloc_caches 전역 변수를 보겠습니다. kmalloc_caches 전역 변수의 세부 필드는 다음과 같습니다. (static struct kmem_cache * [14]) kmalloc_caches = ( [0] = 0x0, [1] = 0x0, [2] = 0xF1401E00, // "kmalloc-192" [3] = 0x0, [4] = 0x0, [5] = 0x0, [6] = 0xF1401F00 -> (
![[일상] Eave 65와 목새 택타일 | 토프레 무접점 느낌 | 타건 영상 있음](https://img.zoomtrend.com/2026/06/07/1780838085-SE-77297eb3-90bf-43a7-9629-75fd8530e370.jpg)



