태그>시스템콜(총 32개의 글)
'시스템콜' 관련 최근글
-
- [리눅스커널][Arm64] 유저 공간(EL0)에서 ..

-
Arm Linux Kernel Hacks by AustinKim|2021/08/21 09:43
이번에는 64비트 기반 리눅스 커널에서 구동되는 라즈비안에서 시스템 콜 번호를 확인해 보겠습니다. 이를 위해 바이너리 유틸리티를 활용해 libc 라이브러리를 어셈블리 명령어로 분석할 필요가 있습니다. root@..
- [리눅스커널][Arm64] 유저 공간(EL0)에서 ..
-
- [리눅스커널] 시스템 콜: _TIF_SYSCALL_WORK 매크로의 정체

-
Linux Kernel(4.19) Hacks by AustinKim|2020/01/12 15:25
_TIF_SYSCALL_WORK 매크로의 정체는 다음 코드와 같다. _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP) _TIF_SYSCALL_WORK 매크로는 4개의 매크로를 'OR 비트'를 연산..
- [리눅스커널] 시스템 콜: _TIF_SYSCALL_WORK 매크로의 정체
-
- [리눅스커널] 시스템 콜: GNU C 라이브러리 실행 흐름

-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/06 19:32
유저 공간에서 시스템 콜을 실행하려면 리눅스 저수준 표준 함수를 호출해야 합니다.저수준 표준 함수는 glibc 라이브러리에 구현돼 있습니다. 그래서 실제 시스템 콜을 발생하는 코드를 확인하기 어렵습니다. * 유튜브 강..
- [리눅스커널] 시스템 콜: GNU C 라이브러리 실행 흐름
-
- [리눅스커널] 시스템 콜: 시스템 콜의 특징 알아보기

-
Linux Kernel(4.19) Hacks by AustinKim|2019/09/06 19:28
이번 소절에서는 시스템 콜의 특징을 알아보겠습니다. 앞서 알아봤듯이 시스템 콜은 유저 모드에서 커널 모드로 진입하는 관문입니다. 소프트웨어 구조 관점으로 보면 시스템 콜은 유저 공간과 커널 공간 사이 가상 계층으로 ..
- [리눅스커널] 시스템 콜: 시스템 콜의 특징 알아보기
-
- [리눅스커널] 시스템 콜: strace와 ftrace로 시스..

-
Linux Kernel(4.19) Hacks by AustinKim|2019/07/16 22:35
이전 소절에서 strace를 활용해 유저 공간에서 시스템 콜 동작을 확인했습니다. 이번에는 strace와 ftrace를 함께 보면서 시스템 콜 세부 동작을 분석해보겠습니다. 먼저 설정 방법을 단계별로 알아봅시다. ftrace 설정 ..
- [리눅스커널] 시스템 콜: strace와 ftrace로 시스..
-
- [리눅스커널] 시스템 콜: 유저 공간에서 전달한 문자열 처리 방법

-
Linux Kernel(4.19) Hacks by AustinKim|2019/07/12 10:42
유저 공간에서 시스템 콜 아규먼트로 지정한 파일 이름은 커널 공간에 그대로 전달됩니다. 한 가지 예를 들어볼까요?[https://elixir.bootlin.com/linux/v4.19.30/source/fs/open.c]SYSCALL_DEFINE3(open, const char _user *, filename, int, flags, umo..
- [리눅스커널] 시스템 콜: 유저 공간에서 전달한 문자열 처리 방법
-
- [리눅스커널][시스템콜] strace로 시스템콜 ..

-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 23:10
리눅스에서는 시스템콜 디버깅을 위한 strace라는 훌륭한 툴을 제공합니다. 유저 프로그램이 실행할 때 어떤 시스템콜을 실행했는지 확인할 수 있습니다. strace 이란 툴은 리눅스에서 제공하는 강력한 시스템 트레이싱 ..
- [리눅스커널][시스템콜] strace로 시스템콜 ..
-
- [리눅스커널][시스템콜] ftrace로 시스템 콜 인..

-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 23:09
ftrace는 시스템 콜 디버깅을 위한 이벤트를 제공합니다.sys_enter, sys_exit 이라는 ftrace 이벤트를 쓰면 시스템 콜 동작을 확인할 수 있습니다. 위 이벤트를 키면 다음과 같은 시스템 콜 디버깅 정보를 출력합니다...
- [리눅스커널][시스템콜] ftrace로 시스템 콜 인..
-
- [리눅스커널] 시스템 콜/디버깅: ftrace 시스템 콜..

-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 23:07
시스템 콜 관련 코드를 분석하다 보면 다음과 같은 의문이 생길 수 있습니다. 평소 시스템 콜은 얼마나 자주 발생할까? 시스템 콜 번호는 어떻게 확인할 수 있을까? ftrace 메시지를 보면 이런 궁금증을 해소할 ..
- [리눅스커널] 시스템 콜/디버깅: ftrace 시스템 콜..
-
- [리눅스커널][시스템콜] 전처리 코드에서 시스템..

-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 23:05
이렇게 시스템 콜 핸들러 함수는 커널에서 제공하는 매크로 함수로 구현이 됐습니다. 이번에는 전처리 코드에서 시스템 콜 핸들러 구현부를 찾는 방법을 소개합니다. 먼저 커널 소스에서 sys_read() 시스템 콜 핸들러 ..
- [리눅스커널][시스템콜] 전처리 코드에서 시스템..
-
- [리눅스커널][시스템콜] SYSCALL_DEFINEx..

-
Linux Kernel(4.14) Hacks by AustinKim|2019/02/21 15:38
시스템 콜 관련 리눅스 커널 코드를 분석하려고 할 때 가장 먼저 만나는 걸림돌은 무엇일까요? 시스템 콜 핸들러 함수 위치가 어딘지 모르겠다. 한 가지 예를 들어 봅시다.POSIX write와 read 시스템 콜의 시스템 콜 핸들..
- [리눅스커널][시스템콜] SYSCALL_DEFINEx..
-
- [리눅스커널] 시스템 콜: ret_fast_syscall 레..

-
Linux Kernel(4.14) Hacks by Guillermo|2018/11/27 12:51
시스템 콜 실행 완료 후 무슨 일을 할까?시스템 콜을 수행하면 시스템 콜 핸들러를 통해 가상 파일시스템이나 커널 프로세스 함수를 실행합니다. 이후 시스템 콜 종류에 따라 시스템 콜 핸들러 하부 루틴을 수행하고..
ret_fast_syscall, no_work_pending, slow_work_pending, 라즈베리파이, 리눅스
- [리눅스커널] 시스템 콜: ret_fast_syscall 레..
-
- [라즈베리파이] 시스템 콜 - 매개 변수 점검(시스..

-
Linux Kernel(4.14) Hacks by Guillermo|2018/11/26 23:16
리눅스 커널 시스템 콜 핸들러 인터페이스 함수를 열어 보면 수 많은 예외 처리 코드를 볼 수 있습니다. 유저 모드에서 시스템 콜을 호출할 때 잘못된 인자(스트링 갯수, 메모리 주소)를 전달할 수 있기 때문입니다. 먼저 wr..
- [라즈베리파이] 시스템 콜 - 매개 변수 점검(시스..
-
- [라즈베리파이] 시스템 콜 - 시스템 콜 핸들러는 어떤 동작을 할까?

-
Linux Kernel(4.14) Hacks by Guillermo|2018/11/23 08:07
유저 공간에서 시스템 콜을 발생하면 커널 공간으로 모드가 스위칭된 다음 vector_swi 이란 소프트웨어 인터럽트 벡터를 실행하는 부분까지 살펴봤습니다. vector_swi 레이블에서 시스템 콜 테이블에 접근해서 시스템 콜 핸들러를 호출합니다. 시스템 콜 핸들러에서는 어떤 동작..
- [라즈베리파이] 시스템 콜 - 시스템 콜 핸들러는 어떤 동작을 할까?
-
- [리눅스커널] 시스템 콜: 커널 공간에서 시스템 콜..

-
Linux Kernel(4.14) Hacks by Guillermo|2018/11/22 06:55
이전 소절에서 알아본 시스템 콜 동작은 다음과 같이 정리할 수 있습니다. "유저 공간에서 전달된 시스템 콜 번호로 시스템 콜 테이블에 저장된 시스템 콜 핸들러 함수로 분기된다." 그런데 위 문장에서 '시스템 ..
sys_call_table, 시스템콜, 시스템호출, 리눅스, 커널
- [리눅스커널] 시스템 콜: 커널 공간에서 시스템 콜..



