При работе с уведомлениями пользовательского пространства seccomp (https://www.kernel.org/doc/html/latest/userspace-api/seccomp_filter.html) через SECCOMP_RET_USER_NOTIF я обнаружил, что PID как часть структуры seccomp_notif чрезвычайно полезен для некоторых фильтрация решений. В фильтрах ebpf для получения такой информации можно использовать вспомогательные функции, такие как bpf_get_current_pid_tgid(). Но поскольку seccomp, кажется, поддерживает только классический BPF, мне было интересно, есть ли другой способ. Насколько мне известно, внутри фильтра seccomp возможен доступ только к структуре seccomp_data. Есть ли способ получить конкретную информацию, такую как PID, внутри фильтра seccomp напрямую?
Нет, вы не можете получить эту информацию из самого фильтра seccomp, если только она не является частью аргументов системного вызова. Чтобы получить PID, вам нужно, например. передать управление процессу ptracer пользовательского пространства или полагаться на SECCOMP_RET_USER_NOTIF
, как вы упомянули.