Message ID | 20220905143318.1592015-5-roberto.sassu@huaweicloud.com |
---|---|
State | Superseded |
Headers | show |
Series | bpf: Add kfuncs for PKCS#7 signature verification | expand |
On Mon, 5 Sept 2022 at 16:35, Roberto Sassu <roberto.sassu@huaweicloud.com> wrote: > > From: Roberto Sassu <roberto.sassu@huawei.com> > > Export bpf_dynptr_get_size(), so that kernel code dealing with eBPF dynamic > pointers can obtain the real size of data carried by this data structure. > > Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com> > Reviewed-by: Joanne Koong <joannelkoong@gmail.com> > Acked-by: KP Singh <kpsingh@kernel.org> > --- Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> > include/linux/bpf.h | 1 + > kernel/bpf/helpers.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/linux/bpf.h b/include/linux/bpf.h > index 9c1674973e03..9dbd7c3f8929 100644 > --- a/include/linux/bpf.h > +++ b/include/linux/bpf.h > @@ -2585,6 +2585,7 @@ void bpf_dynptr_init(struct bpf_dynptr_kern *ptr, void *data, > enum bpf_dynptr_type type, u32 offset, u32 size); > void bpf_dynptr_set_null(struct bpf_dynptr_kern *ptr); > int bpf_dynptr_check_size(u32 size); > +u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr); > > #ifdef CONFIG_BPF_LSM > void bpf_cgroup_atype_get(u32 attach_btf_id, int cgroup_atype); > diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c > index fc08035f14ed..824864ac82d1 100644 > --- a/kernel/bpf/helpers.c > +++ b/kernel/bpf/helpers.c > @@ -1408,7 +1408,7 @@ static void bpf_dynptr_set_type(struct bpf_dynptr_kern *ptr, enum bpf_dynptr_typ > ptr->size |= type << DYNPTR_TYPE_SHIFT; > } > > -static u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr) > +u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr) > { > return ptr->size & DYNPTR_SIZE_MASK; > } > -- > 2.25.1 >
Hi, On 9/5/2022 10:33 PM, Roberto Sassu wrote: > From: Roberto Sassu <roberto.sassu@huawei.com> > > Export bpf_dynptr_get_size(), so that kernel code dealing with eBPF dynamic > pointers can obtain the real size of data carried by this data structure. > > Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com> > Reviewed-by: Joanne Koong <joannelkoong@gmail.com> > Acked-by: KP Singh <kpsingh@kernel.org> > --- > include/linux/bpf.h | 1 + > kernel/bpf/helpers.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) SNIP > diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c > index fc08035f14ed..824864ac82d1 100644 > --- a/kernel/bpf/helpers.c > +++ b/kernel/bpf/helpers.c > @@ -1408,7 +1408,7 @@ static void bpf_dynptr_set_type(struct bpf_dynptr_kern *ptr, enum bpf_dynptr_typ > ptr->size |= type << DYNPTR_TYPE_SHIFT; > } > > -static u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr) > +u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr) > { > return ptr->size & DYNPTR_SIZE_MASK; > } qp-trie also need it. But considering bpf_dynptr_get_size() is just one line, Would moving it and the related definitions into bpf.h be a better choice ?
diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 9c1674973e03..9dbd7c3f8929 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -2585,6 +2585,7 @@ void bpf_dynptr_init(struct bpf_dynptr_kern *ptr, void *data, enum bpf_dynptr_type type, u32 offset, u32 size); void bpf_dynptr_set_null(struct bpf_dynptr_kern *ptr); int bpf_dynptr_check_size(u32 size); +u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr); #ifdef CONFIG_BPF_LSM void bpf_cgroup_atype_get(u32 attach_btf_id, int cgroup_atype); diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c index fc08035f14ed..824864ac82d1 100644 --- a/kernel/bpf/helpers.c +++ b/kernel/bpf/helpers.c @@ -1408,7 +1408,7 @@ static void bpf_dynptr_set_type(struct bpf_dynptr_kern *ptr, enum bpf_dynptr_typ ptr->size |= type << DYNPTR_TYPE_SHIFT; } -static u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr) +u32 bpf_dynptr_get_size(struct bpf_dynptr_kern *ptr) { return ptr->size & DYNPTR_SIZE_MASK; }