rosieblue
article thumbnail
core file 분석 (수정중)
Etc 2024. 4. 13. 14:56

일단 아래 명령어를 실행해서 core 파일의 크기 제한을 없앤다. ulimit -c unlimited 코어 파일 생성 위치 보통은 프로세스 있는 디렉토리에 생성된다 하지만 나는 커멘드를 실행했을 때 커멘드가 죽는 경우여서 ㅎ... /proc/sys/kernel/core_pattern을 읽어보면 corefile이 어떤 규칙으로 생성되는지 알 수 있다 odroid@odroid:/var/lib/systemd/coredump$ cat /proc/sys/kernel/core_pattern |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E 코어파일 생성 따로 안하고 그냥 stdin 인풋으로 코어 내용을 apport에 전달하는 것 같다 이거 수정가..

리눅스에서 하드웨어 정보 확인하는 방법

cat /proc/cpuinfo odroid@odroid:~$ cat /proc/cpuinfo processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x1 CPU part : 0xd05 CPU revision : 0 lscpu haeun@DESKTOP-8NK4D08:~$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 39 bits physic..

article thumbnail
[OS/System Programming] pthread (1)
🖥️ Computer Science/OS 2024. 3. 31. 21:35

노션에 정리하려다가 그냥 블로그에 정리한다.. 갑자기 이걸 하는 이유는 랩에서 나한테 하라고 하신 일이 스레드 관련이어서 먼저 프로그래밍하는 것좀 제대로 알아보고 일을 하려고 한다.. 참고로 pthread관련 처리를 할 때, 'undefined reference to `pthread_create' 이런 오류가 날 수도 있는데, 이걸 해결하려면 컴파일 할 때 아래처럼 -lpthread 옵션을 추가해주어야한다! gcc -o pthread pthread.c -lpthread pthread_create 함수 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); /* 첫번..

article thumbnail
[ARM] ARM Register / Processor Mode
Embedded/ARM 2024. 3. 20. 00:36

블로그 안 쓴지도 오래됐고 요즘 ARM 공부하고 있어서 정리하려고 한다. 맨날 인텔 기반만 공부하다가 요즘 ARM을 거의 처음 공부해보는데 재미있는 것 같다. 사실 예전에 RISC 기반의 비슷한 MIPS를 대충 공부하기는 했는데 진짜 대충해서.. 다시 공부해야겠다ㅠㅠ 참고로 ARM 공부하기에는 아래 ARM 공식 Docs가 가장 좋은 것 같다ㅎㅎ MTE도 여기서 설명 잘 되어 있었당 Documentation – Arm Developer developer.arm.com  Processor ModeRegister를 알아보기 전에 먼저 프로세서 모드에 대해서 알아보자이 모드는 현재 프로세서가 어떤 상태에 있는지를 알려주고, 해당 정보는 CPSR라는 특수 레지스터 내에 저장되게된다. 프로세서 모드는 아래와 같다 ..

article thumbnail
[ARM] MTE (Memory Tagging Extension)
🔐 Security 2024. 2. 26. 21:31

MTE 일단 MTE는 메모리 자체를 '태깅'하는 기법이다. 그렇다면 태깅이라는게 정확하게 뭘까? Address Tag (Key) : 4bit로 되어있고, virtual address의 상위 비트에 저장된다! 상위 비트에 저장될 수 있는 이유는, AArch64의 TBI(Top-Byte-Ignore' 특징 때문이다 Memory Tag (Lock) : 똑같이 4bit로 구성되어있고, memory storage에 저장된다. 물리 메모리 공간에서 16byte로 정렬된 모든 region에 링크되어있다! 참고) TBI가 활성화되면 virtual address의 top byte는 주소 해석에서 무시된다! 그래서 top byte를 metadata를 저장하는데 쓸 수 있는 것이다 일단 이렇게 '태깅된'메모리에 접근/저장하..

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.