ebpf KPROBE C 매크로·포인터 탐구

·
eBPF/기초개념
libbpf-bootstrap의 kprobe.bpf.c 예제를 읽다가 BPF_KPROBE라는 매크로 한 줄에 걸려 넘어졌다. "이거 그냥 함수 아니야?"라는 질문에서 시작해서, C 매크로의 동작 원리, 포인터/역참조, 커널 레지스터와 호출 규약까지 파고든 기록.원본 코드// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause#include "vmlinux.h"#include #include #include char LICENSE[] SEC("license") = "Dual BSD/GPL";SEC("kprobe/do_unlinkat")int BPF_KPROBE(do_unlinkat, int dfd, struct filename *name){ pid_t pid; ..