Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 숭실대
- 운영체제
- 로고
- 쓰레드
- logo
- Process
- wine
- 우분투
- 별지기
- 컴퓨터시스템개론
- 정기철
- 리눅스
- Signal
- 로고 프로그램
- 커널
- Android
- 미디어학부
- 학복위
- 파일io
- Lock
- 프로세스
- 컴시
- 태그를 입력해 주세요.
- 별
- 안드로이드
- 와인
- Linux
- kernel
- 함수
- 학생복지위원회
Archives
- Today
- Total
두근두근이야기
pt_regs, regs값 ebx를 임의로 바꾼다면? 본문
sys_execve함수에서
filename = getname((char *)regs.ebx);
위와 같이 regs에서 ebx를 얻어오면 실행파일명이 오는데
ebx에 임의의 값을 넣어 sys_fork시에 원하는 값을 얻고 싶다! 이게 가능한가?
pt_regs의 값을 임의로 바꾸면 안된다.
이는 user -> kernel context switch 가 일어날 때 레지스터 설정을 저장해둔 것으로 나중에 kernel 에서 user로 갈 때 레지스터를 복구하기 위해 사용된다. system call 이 불릴 때 orig_eax는 system call number를 갖고 있다.
fork()에서는 pt_regs는 child process의 context를 마들 때에도 사용된다.
'IT > IT ::Advanced SystemProgramming' 카테고리의 다른 글
do_mmap (0) | 2013.04.30 |
---|---|
flush_old_exec() (0) | 2013.04.29 |
linux pid관리 (0) | 2013.04.27 |
get_fs(), set_fs() (0) | 2013.04.27 |
효율적인 페이지 단위 점진적 검사점의 설계 및 구현 (0) | 2013.04.27 |