lsm 에서 제공하는 security_socket_recvmsg 에 콜백함수를 등록. recvmsg 이벤트를 받고, 차단하고 싶은 ip (foreign ip) 인지 확인하고 있습니다.구체적으로는 "함수 인자로 넘겨받은 sk" 를 써서 inet socket 을 획득하고
legacy kernel 들에서 파일필터를 지원할때 redirfs.ko 모듈을 사용이 모듈의 "적정 메모리 스펙" 을 정하기 위해 redirfs 가 사용하는 slab cache 3개 (file/inode/dentry) 의 사용량을 측정하고 있음문제는 모듈을 load 할
상황목적새로 알게된 내용d_lookup 수동계산이 실패 ( hash bucket 에 원하는 dentry 가 없음 )\--> hash 계산을 수동으로 해서, 예상 hash bucket 에 dentry 를 넣고, 이걸 통해서, 처음 사용한 hash 값이 틀렸음을 증명 (진
linux stable v6.5.9 가 Wed, 25 Oct 2023 12:23:58 +0200 에 release 되었다.한국시간(UTC+09:00) 기준 2023-10-25 19:23, 4일 전241개 patch 가 2일간의 리뷰텀을 거쳐서 release 되었는데,
커널에선 list 는 흔히 쓰이는 자료구조인데,어떤 경우엔 list node (HLIST_NODE) 에 double pointer 가 들어가는 경우가 있다.pprev 작성자가 마주한 문제가 어떤것이고, 어떠한 생각으로 결정(디자인)을 하였는지 정리구조체 메모리 foot
arm 보드를 공부하고 싶은데, Trace32 가 없어서 지식적으로밖에 접근이 안되는 문제가 있다.문제의식, 감각을 얻을수 있는 방법이 필요하다. OpenOCD 연결을 수행한다.windows 11 ( 실제 작업들은 vmware 내 ubuntu22 에서 수행 )raspb
상황커널 이벤트 mount / umount / chdir 가 어떤 순서로 들어오는 지와, 받는 parameter 값 확인이 필요하다.mount / umount 중간에 chdir 가 들어오는지 확인이 필요해법bpftrace 를 사용한다.예시mount_umount_chdi
vmware workstation 17 pro2개의 ubuntu22 vm (1개는 gdbserver 용, 다른 하나는 target)커널소스 git tag 확인 : 6.2.0-26.26~22.04.1-genericroot@user-virtual-machine:/bootj
라이브디버깅 환경 (gdb) 에서 timer list 디버깅을 하려면 lx-timerlist 명령이 필요하다.해당 명령은 source vmlinux-gdb.py 후 사용이 가능하고, vmlinux-gdb.py 는 커널소스에서 빌드해야 한다.https://www
32bit os 에서 프로그램은 가상주소공간 4GB 를 제공받는데, 이 가상주소공간이 실제 물리주소로 변환되려면page table 을 사용하게 된다.page table 에는 물리메모리 (page frame) 주소가 들어있고,가상주소를 page 크기(4k) 로 나눈 후,