prctl 사용법
프로세스 이름 표시, 부모가 죽었을 때 자식 정리, 권한 상승 차단, 코어 덤프 생성 여부처럼 프로세스 자체의 커널 레벨 동작을 세밀하게 제어하고 싶을 때가 있다. 리눅스는 이런 잡다한 제어를 위해…
Linux Kernel
프로세스 이름 표시, 부모가 죽었을 때 자식 정리, 권한 상승 차단, 코어 덤프 생성 여부처럼 프로세스 자체의 커널 레벨 동작을 세밀하게 제어하고 싶을 때가 있다. 리눅스는 이런 잡다한 제어를 위해…
x86에는 IRQ 마스크와 무관하게 항상 들어오는 진짜 NMI(Non-Maskable Interrupt) 핀이 있지만, ARM에는 그런 하드웨어가 없다. 그런데 PMU(성능 카운터) 오버플로우 인터럽트처럼 "일반 IRQ가 막혀 있는 구간에서도 반드시 들어와야" 정확한 프로파일링이 되는…
MGLRU(Multi-Gen LRU) 페이지 에이징이나 fork() 이후 CoW(Copy-on-Write) 처리처럼, 커널이 "이 페이지가 최근에 접근됐는가"를 알아야 하는 곳이 많다. 이걸 알아내는 방법은 두 가지다 — 오래된 PTE에 접근할 때마다 일부러 페이지 폴트를…
커널에 기능을 하나 추가하려고 매번 전체 커널을 재컴파일하고 재부팅해야 한다면 개발 사이클이 너무 느려진다. Loadable Kernel Module(LKM)은 이 문제를 insmod/rmmod만으로 런타임에 코드를 넣고 뺄 수 있게 해준다. 이 글에서는 최소…
커널 보안 패치가 나와도 프로덕션 서버는 재부팅 창을 잡기가 쉽지 않다. 클러스터 전체를 순차적으로 내렸다 올리는 동안 서비스 영향을 감수해야 하고, 그 사이 취약점은 그대로 열려 있다. Canonical Livepatch는 실행…
2026년 7월 19일 하루에만 431건, 다음 날 9건이 더해져 총 440건의 CVE 보안 권고가 linux-cve-announce 메일링 리스트에 한꺼번에 올라왔습니다. 리눅스 커널이 자체 CVE Numbering Authority(CNA)로 활동하기 때문에 가능한 규모지만, 보안…
메모리는 넉넉히 남아 있는데 huge page나 큰 DMA 버퍼 할당이 실패하는 경우가 있다. 총 여유 메모리량과 별개로, 그 여유분이 4KB 단위로 잘게 흩어져 있으면 연속된 큰 블록이 필요한 할당은 실패한다.…
GCC vs Clang 커널 빌드 차이에서는 LTO를 "Clang 쪽이 ThinLTO를 지원해 더 현실적"이라는 수준으로만 짚고 넘어갔다. 하지만 정작 -O2와 -O3가 실제로 무엇을 다르게 하는지, LTO가 정확히 어떤 상황에서 이득을 주는지는…
오픈소스 프로젝트 메인테이너들은 최근 몇 년간 두 가지 상반된 AI 문제를 동시에 겪어 왔습니다. 한쪽에는 AI가 대충 만들어낸 가짜 버그 리포트가 버그 바운티 채널을 스팸으로 채우는 문제가 있었고(curl 프로젝트가 대표적으로…
벤더 커널을 빌드하다가 아래와 같은 에러를 만났다. /home/worker/.../kernel-source/include/linux/cred.h:258:28: error: passing argument 1 of 'atomic_inc' from incompatible pointer type [-Werror=incompatible-pointer-types] 258 | atomic_inc(&new->usage); | ^~~~~~~~~~~ | | | atomic_long_t * {aka…