[커널 17차 A조] 13주차
2020.11.21 21:42
2020년 11월 21일
linux version : mainline 5.9
head.S 종료
SYM_FUNC_START_LOCAL(__primary_switched)
.macro kernel_ventry, el, label, regsize = 64
http://jake.dothome.co.kr/arm64-vector/
TBNZ x0, #THREAD_SHIFT를 하는 이유:
관련 commit: 872d8327ce8982883b8237b2c320c8666f14e561
TPIDRRO_EL0, EL0 Read-Only Software Thread ID Register
스택 오버플로우 발생 시, 오버플로우 스택 생성
__primary_switched
X29에는 값이 없으므로 0으로 넣는다. (함수 콜을 한 적이 없으므로)
관련 커밋 60699ba18b69ff210ed0304bc23f6c9d11d27a72
__efistub_memset = __pi_memset;
기존에는 memset을 사용하지 않고, 직접 반복문을 사용하는 식으로 BSS를 초기화했는데, 이제 memset을 사용한다.
TST X23, ~(MIN_KIMG_ALIGN - 1) - 상위 비트가 0이라면 kaslr_early_init()함수를 실행하지 않았다는 의미이다.
즉, primary_switched를 처음 실행한 것이이다.
CONFIG_RANDOMIZE_BASE이 설정되어 있고 Randomize가 되어 있지 않으면
kaslr_early_init으로 진입하여, KASLR을 위한 무작위 값을 x23에 update 한다.
HEAD.S 종료
자료
https://docs.google.com/presentation/d/1mg9ZJGTZOdFBgcrqNyp_-M_dReu5wP59esIury_U57Y/edit?usp=sharing
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [공지] 스터디 정리 노트 공간입니다. | woos | 2016.05.14 | 627 |
247 | 커널 스터디 공개 노트 링크 [1] | 박동하 | 2016.05.20 | 233082 |
246 | [커널 17차] 41주차 | ㅇㅇㅇ | 2021.06.13 | 36545 |
245 | [커널 17차] 56주차 | ㅇㅇㅇ | 2021.10.03 | 27524 |
244 | [커널 18차] 1주차 | V4bel | 2021.05.29 | 3599 |
243 | [커널 17차 6조] 2주차 | 김정근 | 2020.08.31 | 2175 |
242 | [커널 17차 2조] 4주차 | wellbeing | 2020.09.12 | 1518 |
241 | 커널 스터디 13차 D조 스터디 로그 링크입니다. | 목태양 | 2016.05.15 | 1226 |
240 | 해킹&보안 1차 A팀 스터디로그 링크 | 수비니겨 | 2016.05.19 | 1185 |
239 | [커널 16차 B조] 1주차 [1] | kdy0252 | 2019.05.25 | 1083 |
238 | [커널 17차 A조] 20주차 | 주영 | 2021.01.11 | 1019 |
237 | [커널 20차] 24주차 | 이민찬 | 2023.10.22 | 748 |
236 | [커널 17차 2조] 5주차 | wellbeing | 2020.09.19 | 739 |
235 | [커널 17차 8조] 1주차 [3] | JSYoo5B | 2020.08.22 | 716 |
234 | [커널 19차] 0주차 - 오리엔테이션 | 리턴 | 2022.05.07 | 600 |
233 | [커널 17차] 26주차 | 주영 | 2021.03.01 | 539 |
232 | [커널 19차] 37 주차 | Min | 2023.02.04 | 479 |
231 | [커널 19차] 1주차 | 리턴 | 2022.05.16 | 456 |
230 | [커널 17차] 32주차 | ㅇㅇㅇ | 2021.04.11 | 443 |
229 | [커널 17차 A조] 12주차 | 주영 | 2020.11.16 | 410 |
.