Как ядре получить PID из struct sk_buff?

Пишу модуль ядра, перехватывающий пакеты для анализа, не могу получить из sk_buff PID или сслку на процесс породивший skb на локальном исходящем трафике.

    nfho->hook  = (nf_hookfn*)hfunc;        /* hook function */
    nfho->hooknum   = NF_INET_LOCAL_OUT;        /* received packets */
    nfho->pf    = PF_INET;          /* IPv4 */
    nfho->priority  = NF_IP_PRI_FIRST;      /* max hook priority */

пробовал искать в skb->sk->sk_socket->file->f_owner.pid и skb->sk->sk_peer_pid в обоих случаях pid_nr(pid) возвращает 0.

Неужели ядро ни где не сохраняет PID процесса (либо ссылку на него) вызвавшего формирование sk_buff ?


Ответы (0 шт):