From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [PATCH net-next 1/3] bpf: introduce current->pid, tgid, uid, gid, comm accessors Date: Fri, 12 Jun 2015 16:23:44 -0700 Message-ID: <557B6A00.7000600@plumgrid.com> References: <1434145226-17892-1-git-send-email-ast@plumgrid.com> <1434145226-17892-2-git-send-email-ast@plumgrid.com> <557B60DB.5030200@plumgrid.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Andy Lutomirski Cc: "David S. Miller" , Ingo Molnar , Steven Rostedt , Wang Nan , Li Zefan , Daniel Wagner , Daniel Borkmann , Linux API , Network Development , "linux-kernel@vger.kernel.org" List-Id: linux-api@vger.kernel.org On 6/12/15 3:54 PM, Andy Lutomirski wrote: > On Fri, Jun 12, 2015 at 3:44 PM, Alexei Starovoitov wrote: >> On 6/12/15 3:08 PM, Andy Lutomirski wrote: >>> >>> On Fri, Jun 12, 2015 at 2:40 PM, Alexei Starovoitov >>> wrote: >>>> >>>> eBPF programs attached to kprobes need to filter based on >>>> current->pid, uid and other fields, so introduce helper functions: >>>> >>>> u64 bpf_get_current_pid_tgid(void) >>>> Return: current->tgid << 32 | current->pid >>>> >>>> u64 bpf_get_current_uid_gid(void) >>>> Return: current_gid << 32 | current_uid >>> >>> >>> How does this work wrt namespaces, >> >> >> from_kuid(current_user_ns(), uid) >> > > Is current_user_ns() well defined in the context of an eBPF program? What do you mean 'well defined'? Semantically same as 'current'. Depending on where particular kprobe is placed, 'current' is either meaningful or not. Program author needs to know what he's doing. It's a tool.