Received: by 2002:a05:6359:322:b0:b3:69d0:12d8 with SMTP id ef34csp280964rwb; Wed, 10 Aug 2022 08:10:45 -0700 (PDT) X-Google-Smtp-Source: AA6agR7YBRhAkRW4Xke2l2NRN3/ba+QrbG4BgRXQmcEewFczeDLuvHnN9oumya3dPsWF+xklphvS X-Received: by 2002:a17:902:ea0d:b0:170:cabd:b28 with SMTP id s13-20020a170902ea0d00b00170cabd0b28mr12021268plg.115.1660144245128; Wed, 10 Aug 2022 08:10:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660144245; cv=none; d=google.com; s=arc-20160816; b=Q/I6C3CvfBudKPdOyk/Oxdoadn5S9K924yamYcBMPlrekA2vfl6ZXjlvrhsXiE2CNi EZyDWIVrOgkwGngpFbMAatftCrqH29LqH6n0QLg1xnNZRJBFPeT9k3DKPaekipgGANA+ S6xTs22h/kIgOIWzcUeppGnXEbi92KS6Gm2fTUNph7yWq9RZdJ7R3/2vmE4dlsPJeGWo km9oKfcXhfjGcyTylTEwcF4NFsOPJgJOUkcbQLvw2N87AbJiCLkDyVfFNNpWbx6y4eLE ZE4uyoDeGCYVcsnQ/DObeE23ENE758HHFdYiccquPf2q2a2t/ROAfaXuNQZEQyPo/iwE J8Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=zYeF5w83YFjXvDQYWsj9mkqWbEs63wagsp9/Js/L3Ew=; b=aB343L0yIMjnqYH1v2kuNXeFfMl3rZFVqRTNtwGfpf6nlE85qbIzQKX1Zuh+0Gk14J 6M90+Qc2DZqwS25nbusBVPmIQlvcZS1R3oGF512ViduY9rWV6kYs1BTUTC8GOsGAoG1Q ZBoKXdH7wtNqeuaWDHDgr1/Ydp/syCzVKZVxfpeb9kTaiJCx7avhm7CTXvb4O686RSYM dB3kL1i4lIN24IbnT90GcxZGgwpFbWSxF0H6yuwqhHSs51AylznuQNVhAzYT9oUM2eBo gY+1w/fTyPa2J90pAzy5rTi/usdFVxQL0nw/fK1WBfIfgQuCdKv2UsARKFSR/5lxjJfF TVqA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z14-20020a17090ad78e00b001efde438e00si2071438pju.138.2022.08.10.08.10.29; Wed, 10 Aug 2022 08:10:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232576AbiHJOj3 (ORCPT + 99 others); Wed, 10 Aug 2022 10:39:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49884 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232689AbiHJOjV (ORCPT ); Wed, 10 Aug 2022 10:39:21 -0400 Received: from www62.your-server.de (www62.your-server.de [213.133.104.62]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E815354649; Wed, 10 Aug 2022 07:39:14 -0700 (PDT) Received: from sslproxy06.your-server.de ([78.46.172.3]) by www62.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1oLmrH-0007L9-Nn; Wed, 10 Aug 2022 16:38:55 +0200 Received: from [85.1.206.226] (helo=linux.home) by sslproxy06.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oLmrG-000Ego-Vy; Wed, 10 Aug 2022 16:38:55 +0200 Subject: Re: [PATCH v9 01/10] btf: Add a new kfunc flag which allows to mark a function to be sleepable To: Benjamin Tissoires , Roberto Sassu Cc: Jarkko Sakkinen , "ast@kernel.org" , "andrii@kernel.org" , "martin.lau@linux.dev" , "song@kernel.org" , "yhs@fb.com" , "john.fastabend@gmail.com" , "kpsingh@kernel.org" , "sdf@google.com" , "haoluo@google.com" , "jolsa@kernel.org" , "corbet@lwn.net" , "dhowells@redhat.com" , "rostedt@goodmis.org" , "mingo@redhat.com" , "paul@paul-moore.com" , "jmorris@namei.org" , "serge@hallyn.com" , "shuah@kernel.org" , "bpf@vger.kernel.org" , "linux-doc@vger.kernel.org" , "keyrings@vger.kernel.org" , "linux-security-module@vger.kernel.org" , "linux-kselftest@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Yosry Ahmed References: <20220809134603.1769279-1-roberto.sassu@huawei.com> <20220809134603.1769279-2-roberto.sassu@huawei.com> From: Daniel Borkmann Message-ID: Date: Wed, 10 Aug 2022 16:38:54 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.103.6/26623/Wed Aug 10 09:55:07 2022) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/10/22 4:25 PM, Benjamin Tissoires wrote: > On Wed, Aug 10, 2022 at 3:44 PM Roberto Sassu 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 >>>> >>>> From: Benjamin Tissoires >>>> >>>> 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 >>>> Co-developed-by: Yosry Ahmed >>>> Signed-off-by: Yosry Ahmed >>>> Signed-off-by: Hao Luo >>>> --- >>>> 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.