jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all

수정 오류 모음

나름 중요한 거 위주로 적었다

  • 순회 참조

    • 구조체의 인자 타입을 정의하는 파일이 현재 파일을 참조중임
    • incomplete type이 됨
    • 참조하게 하면 순환 참조로 에러
    • 헤더 파일 따로 빼서 구조체만 투입
  • 헬퍼 함수 추가 ensure_user_kva
    • 인자로 받은 유저주소가 커널에서 접근 가능하도록 보장
    • 유저 영역 아니면 exit
    • 매핑 없으면 클레임 후 재확인
    • 그래도 실패면 exit
  • 헬퍼 함수 수정

    • copy in/out/in string 애들 ensure_user_kva 사용하게 수정
  • 커널 스택 성장 추가

    • 위에서 만든 헬퍼 함수의 기능을 커널 쪽에서도 사용하게 수정
    • 매핑 여부, SPT 등록 여부, 페이지 크기 검사 후 성장
  • 스택 성장 조건문 추가

    • 크기랑 유저영역만 확인하던 거에서
    • 스택 성장 휴리스틱(스택 영역 몇바이트 이하인지) 추가
  • double free/가드/오프셋 검사

    • double free 막기 위해 file_backed_initalizer 단순화
    • file_backed_destroy mmap 페이지에서만 하도록 가드 추가
    • system_mmap의 offset 검사 수정
  • 겹침 사전 검사 추가

    • 페이지 읽으며 기존 내용 있으면(이미 사용 영역) 실패 처리
  • 페이지 단위 읽을 양 제한

    • read_byte 제한 둬서 과하게 큰 데이터 못읽게함
  • munmap 수정

    • spt_remove_page 수정