Re: [PATCH v4 bpf-next 1/6] bpf: enable task local storage for tracing programs

From: Martin KaFai Lau
Date: Tue Feb 23 2021 - 14:25:44 EST


On Mon, Feb 22, 2021 at 05:20:09PM -0800, Song Liu wrote:
[ ... ]

> diff --git a/kernel/bpf/bpf_task_storage.c b/kernel/bpf/bpf_task_storage.c
> index e0da0258b732d..2034019966d44 100644
> --- a/kernel/bpf/bpf_task_storage.c
> +++ b/kernel/bpf/bpf_task_storage.c
> @@ -15,7 +15,6 @@
> #include <linux/bpf_local_storage.h>
> #include <linux/filter.h>
> #include <uapi/linux/btf.h>
> -#include <linux/bpf_lsm.h>
> #include <linux/btf_ids.h>
> #include <linux/fdtable.h>
>
> @@ -24,12 +23,8 @@ DEFINE_BPF_STORAGE_CACHE(task_cache);
> static struct bpf_local_storage __rcu **task_storage_ptr(void *owner)
> {
> struct task_struct *task = owner;
> - struct bpf_storage_blob *bsb;
>
> - bsb = bpf_task(task);
> - if (!bsb)
> - return NULL;
task_storage_ptr() no longer returns NULL. All "!task_storage_ptr(task)"
checks should be removed also. e.g. In bpf_task_storage_get
and bpf_pid_task_storage_update_elem.

> - return &bsb->storage;
> + return &task->bpf_storage;
> }
>