Messages in this thread | | | Subject | Re: [PATCH v9 01/10] btf: Add a new kfunc flag which allows to mark a function to be sleepable | From | Daniel Borkmann <> | Date | Wed, 10 Aug 2022 16:38:54 +0200 |
| |
On 8/10/22 4:25 PM, Benjamin Tissoires wrote: > On Wed, Aug 10, 2022 at 3:44 PM Roberto Sassu <roberto.sassu@huawei.com> wrote: >>> From: Jarkko Sakkinen [mailto:jarkko@kernel.org] >>> Sent: Tuesday, August 9, 2022 6:55 PM >>> On Tue, Aug 09, 2022 at 03:45:54PM +0200, Roberto Sassu wrote: >>>> From: Benjamin Tissoires <benjamin.tissoires@redhat.com> >>>> >>>> From: Benjamin Tissoires <benjamin.tissoires@redhat.com> >>>> >>>> This allows to declare a kfunc as sleepable and prevents its use in >>>> a non sleepable program. >>> >>> Nit: "Declare a kfunc as sleepable and prevent its use in a >>> non-sleepable program." >>> >>> It's missing the part *how* the patch accomplishes its goals. >> >> I will add: >> >> If an eBPF program is going to call a kfunc declared as sleepable, >> eBPF will look at the eBPF program flags. If BPF_F_SLEEPABLE is >> not set, execution of that program is denied. > > All those changes are looking good to me. > > Thanks a lot for keeping pushing on this patch :)
This single one from the series got already applied here:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=fa96b24204af42274ec13dfb2f2e6990d7510e55
>>>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> >>>> Co-developed-by: Yosry Ahmed <yosryahmed@google.com> >>>> Signed-off-by: Yosry Ahmed <yosryahmed@google.com> >>>> Signed-off-by: Hao Luo <haoluo@google.com> >>>> --- >>>> Documentation/bpf/kfuncs.rst | 6 ++++++ >>>> include/linux/btf.h | 1 + >>>> kernel/bpf/btf.c | 9 +++++++++ >>>> 3 files changed, 16 insertions(+) >>>> >>>> diff --git a/Documentation/bpf/kfuncs.rst b/Documentation/bpf/kfuncs.rst >>>> index c0b7dae6dbf5..c8b21de1c772 100644 >>>> --- a/Documentation/bpf/kfuncs.rst >>>> +++ b/Documentation/bpf/kfuncs.rst >>>> @@ -146,6 +146,12 @@ that operate (change some property, perform some >>> operation) on an object that >>>> was obtained using an acquire kfunc. Such kfuncs need an unchanged pointer >>> to >>>> ensure the integrity of the operation being performed on the expected object.
| |