Re: [PATCH bpf-next v2 1/8] bpf: Implement task local storage
From: KP Singh
Date: Tue Nov 03 2020 - 18:55:02 EST
On Wed, Nov 4, 2020 at 12:47 AM Song Liu <songliubraving@xxxxxx> wrote:
>
>
> > On Nov 3, 2020, at 7:31 AM, KP Singh <kpsingh@xxxxxxxxxxxx> wrote:
> >
> > From: KP Singh <kpsingh@xxxxxxxxxx>
> >
> > Similar to bpf_local_storage for sockets and inodes add local storage
> > for task_struct.
> >
> > The life-cycle of storage is managed with the life-cycle of the
> > task_struct. i.e. the storage is destroyed along with the owning task
> > with a callback to the bpf_task_storage_free from the task_free LSM
> > hook.
> >
> > The BPF LSM allocates an __rcu pointer to the bpf_local_storage in
> > the security blob which are now stackable and can co-exist with other
> > LSMs.
> >
> > The userspace map operations can be done by using a pid fd as a key
> > passed to the lookup, update and delete operations.
> >
> > Signed-off-by: KP Singh <kpsingh@xxxxxxxxxx>
>
> Acked-by: Song Liu <songliubraving@xxxxxx>
>
> with a few nits:
>
> > ---
> > include/linux/bpf_lsm.h | 23 +++
> > include/linux/bpf_types.h | 1 +
> > include/uapi/linux/bpf.h | 39 ++++
> > kernel/bpf/Makefile | 1 +
> > kernel/bpf/bpf_lsm.c | 4 +
> > kernel/bpf/bpf_task_storage.c | 313 +++++++++++++++++++++++++++++++++
> > kernel/bpf/syscall.c | 3 +-
> > kernel/bpf/verifier.c | 10 ++
> > security/bpf/hooks.c | 2 +
> > tools/include/uapi/linux/bpf.h | 39 ++++
> > 10 files changed, 434 insertions(+), 1 deletion(-)
> > create mode 100644 kernel/bpf/bpf_task_storage.c
> >
> > diff --git a/include/linux/bpf_lsm.h b/include/linux/bpf_lsm.h
> > index aaacb6aafc87..326cb68a3632 100644
> > --- a/include/linux/bpf_lsm.h
> > +++ b/include/linux/bpf_lsm.h
> > @@ -7,6 +7,7 @@
> > #ifndef _LINUX_BPF_LSM_H
> > #define _LINUX_BPF_LSM_H
> >
> > +#include "linux/sched.h"
>
> vscode?
Yep, turns out it was clangd (which I use in vscode) and I needed to
pass "--header-insertion=never"
when starting the clangd server, I fixed all other instances as well.
- KP