[커널 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 | 617 |
42 | [커널 17차 A조] 18주차 | 주영 | 2020.12.29 | 82 |
41 | [커널 17차 A조] 17주차 | 주영 | 2020.12.21 | 100 |
40 | [커널 17차 A-2조] 16주차 | ㅇㅇㅇ | 2020.12.19 | 112 |
39 | [커널 17차 A조] 16주차 | 주영 | 2020.12.14 | 112 |
38 | [커널 17차 A조] 15주차 | 주영 | 2020.12.06 | 90 |
37 | [커널 17차 A-2조] 15주차 | ㅇㅇㅇ | 2020.12.06 | 134 |
36 | [커널 17차 A조] 14주차 | 주영 | 2020.11.28 | 192 |
» | [커널 17차 A조] 13주차 | 주영 | 2020.11.21 | 101 |
34 | [커널 17차 A조] 12주차 | 주영 | 2020.11.16 | 409 |
33 | [커널 17차 A조] 11주차 [1] | 주영 | 2020.11.09 | 198 |
32 | [커널 17차 A조] 10주차 [1] | 주영 | 2020.11.02 | 121 |
31 | [커널 17차 A조] 9주차 | 주영 | 2020.10.24 | 134 |
30 | [커널 17차 A조] 8주차 | 주영 | 2020.10.17 | 135 |
29 | [커널 17차 4조] 7주차 | 주영 | 2020.10.12 | 115 |
28 | [커널 17차 8조] 7주차 | JSYoo5B | 2020.10.10 | 67 |
27 | [커널 17차 2조] 7주차 | sardinelee | 2020.10.10 | 350 |
26 | [커널 17차 4조] 6주차 | 주영 | 2020.09.27 | 185 |
25 | [커널 17차 6조] 6주차 | 김정근 | 2020.09.26 | 83 |
24 | [커널 17차 2조] 6주차 | sardinelee | 2020.09.26 | 82 |
23 | [커널 17차 4조] 5주차 | 주영 | 2020.09.21 | 87 |
.