2010-05-09 2 views
0

cat/proc // smaps의 출력을 보면 읽기/쓰기/실행 권한이 연관되지 않은 메모리 영역이 있음을 발견했습니다. 또한이 지역은 inode 번호 0에 매핑됩니다.메모리 영역이 SMAPS 출력에 권한없이 표시됩니다.

지역이 어떻게 이런 상태에 처하게되었는지 알고 싶습니까? 어떤 종류의 메모리 누수가 있습니까?

프로세스에서이 영역을 다시 사용할 수 있습니까?

답변

0

누출이 아닙니다. 그들은 MAP_ANONYMOUSPROT_NONE 플래그를 사용하여 mmap()을 호출하여 만듭니다. 프로세스는 여전히 해당 가상 주소 공간을 사용할 수 있습니다 : munmap()으로 영역의 매핑을 해제하거나 mprotect()으로 보호를 변경할 수 있습니다.

이러한 영역은 일반적으로 가드 페이지을 설정하는 데 사용되며 증가하는 데이터 구조가 현재 바운드를 넘어서서 증가 할 때 신호를 트리거하기위한 것입니다.

+0

감사합니다. 한 가지만 더 말씀 드리면, 그런 특정 것들을 배울 수있는 소스 (서적/서적/웹 사이트)를 가르쳐 주시겠습니까? 나의 주요 좌우명은 반복해서 너를 괴롭히지 않고 혼자서 배울 수 있다는 것이다. – vaibhav3002

관련 문제