От kprobe document:Как использовать регистры в kprobe?
echo 'p:myprobe do_sys_open dfd=%ax filename=%dx flags=%cx mode=+4($stack)' > /sys/kernel/debug/tracing/kprobe_events
За мое понимание, на X86_64
платформе, аргументы должны быть переданы в регистры (см X86_64 syscalls). Так что я думаю, добавив зонд хотел это:
echo 'p:myprobe do_sys_open dfd=%rdi filename=%rsi flags=%rdx mode=%rcx' > /sys/kernel/debug/tracing/kprobe_events
Но выполнить вышеуказанное заявление, bash
жалуется:
-bash: echo: write error: Invalid argument
Так что мои вопросы: как использовать регистры в kprobe
? Какие регистры действительны?