Re: [PATCH v4 bpf-next 1/6] bpf: enable task local storage for tracing programs
From: Song Liu
Date: Tue Feb 23 2021 - 15:53:51 EST
> On Feb 23, 2021, at 11:23 AM, Martin Lau <kafai@xxxxxx> wrote:
>
> 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.
Good catch! Fixed it in v5.
Thanks,
Song
>
>> - return &bsb->storage;
>> + return &task->bpf_storage;
>> }
>>