[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1486350121.7793.27.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Sun, 05 Feb 2017 19:02:01 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Chenbo Feng <chenbofeng.kernel@...il.com>
Cc: netdev@...r.kernel.org, Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Lorenzo Colitti <lorenzo@...gle.com>,
Willem de Bruijn <willemb@...gle.com>,
Chenbo Feng <fengc@...gle.com>
Subject: Re: [PATCH net-next v2 2/2] Add a eBPF helper function to retrieve
socket uid
On Sun, 2017-02-05 at 18:17 -0800, Chenbo Feng wrote:
> From: Chenbo Feng <fengc@...gle.com>
>
> Returns the owner uid of the socket inside a sk_buff. This is useful to
> perform per-UID accounting of network traffic or per-UID packet
> filtering.
>
> Signed-off-by: Chenbo Feng <chenbofeng.kernel@...il.com>
> ---
> +BPF_CALL_1(bpf_get_socket_uid, struct sk_buff *, skb)
> +{
> + struct sock *sk = skb->sk;
> + kuid_t kuid = sock_net_uid(net, sk && sk_fullsock(sk) ?
> + sk : NULL);
> + return (u32)kuid.val;
> +}
> +
Have you considered to use sk_to_full_sk() ?
struct sock *sk = sk_to_full_sk(skb->sk);
kuid_t kuid = sock_net_uid(net, sk);
Powered by blists - more mailing lists