Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp590031rwb; Fri, 13 Jan 2023 01:29:59 -0800 (PST) X-Google-Smtp-Source: AMrXdXurvsaXIDzSvmmyyQTd0+TtTmpoGZSDAh9zb+4Zr2Y2b30f2dNa8O1U6nMN84MK5sL7sGQ+ X-Received: by 2002:a50:ff02:0:b0:491:6897:c5cb with SMTP id a2-20020a50ff02000000b004916897c5cbmr26667145edu.41.1673602199726; Fri, 13 Jan 2023 01:29:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673602199; cv=none; d=google.com; s=arc-20160816; b=Adbw5wO3TzfSjbYBTnMlr+DnJXV+ikgNPAGzatm5O6mtFZfw8bPzXJ9fRskx2ynwvG 95wB9saAstD7ua7MeqwyaaKrLC92Cnkc2N2xLwCu1PvXHVFzb4mX3hwX9CP1Gv4yJTY1 wuShXVRar3Zt6r5OB2FBm53BW/hl7apGz9atFDsQUSdfL8QsPATU4T/ZRqzOh3IrMUmG ZWHKJ7407Uf+y48Q1zuGEd6PksmwnZeNL9PLpQWvCOWTLPTFiOJoidNp/4EKnWXx/GfP VtVUaOTd/3dzTLNOmQpsYp1vZEarPuORMnrFcF8laybDW+SFLX1s2kf9SjDKLydD6jMk u00A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=/inVd9UHQixWXyAa+0MDkfw5LIKFllU3vs3HgZK6jgc=; b=f4/7uWHo+Zw8sly0zt+HEreOWLjipqkiSqSQ+43i1AHytIwoKrTFUz+YxDFjbGCVdV l76e2Bj2pOABd6IQjI3nlMxyzZUqktO0NuhBQbnpqU1cV6gPekT1Yrcszjg/VfQqZqpk TpaUUI9KxDHNHYa1ir/IkxMyBcPW/8/hlfkwhH+laKFkdG8vZoLCJyBcIXc2hh+j9SmM iKu7nUhLJ+ZWiBOd8dfLf3WqSSQqFIsLwu8WpV6c6mujU5UQnbaU5DsEH/oQiz0/SERl 7ZsJoIOubZPcAhOWIm4GPEHWFYyPt56zkArCKDOOS9OXsDaNVENWNsoAiSuqerRiSxBH vj+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=J2qmS1vI; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p13-20020aa7cc8d000000b00457f31c1a10si18163269edt.584.2023.01.13.01.29.47; Fri, 13 Jan 2023 01:29:59 -0800 (PST) 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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=J2qmS1vI; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235389AbjAMJOw (ORCPT + 51 others); Fri, 13 Jan 2023 04:14:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241208AbjAMJM2 (ORCPT ); Fri, 13 Jan 2023 04:12:28 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5B4C14035 for ; Fri, 13 Jan 2023 01:10:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1673601009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/inVd9UHQixWXyAa+0MDkfw5LIKFllU3vs3HgZK6jgc=; b=J2qmS1vI3H+cSoaRnu7FbHVoIz1jh/VzaUu6SWnsh3znpuZrrZ1aUAXNEVlSi7prTWvm/n 59Or0Dp6dZNNmUX+V9QM79TxhhNMiJjQRU606DkEHhwTmOIdcHD87A0NnHrXXk3pXre1LK Yl2AaiNiCNQCT/1RnEGRoP65NUD2+5I= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-550--HjQU60KNxmzY7XjHPb57A-1; Fri, 13 Jan 2023 04:10:03 -0500 X-MC-Unique: -HjQU60KNxmzY7XjHPb57A-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 40D81101A55E; Fri, 13 Jan 2023 09:10:02 +0000 (UTC) Received: from plouf.redhat.com (ovpn-193-50.brq.redhat.com [10.40.193.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0EF531121314; Fri, 13 Jan 2023 09:09:59 +0000 (UTC) From: Benjamin Tissoires To: Greg KH , Jiri Kosina , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Dmitry Torokhov Cc: Tero Kristo , linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, Benjamin Tissoires Subject: [PATCH HID for-next v2 9/9] HID: bpf: reorder BPF registration Date: Fri, 13 Jan 2023 10:09:35 +0100 Message-Id: <20230113090935.1763477-10-benjamin.tissoires@redhat.com> In-Reply-To: <20230113090935.1763477-1-benjamin.tissoires@redhat.com> References: <20230113090935.1763477-1-benjamin.tissoires@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 Given that our initial BPF program is not using any kfuncs anymore, we can reorder the initialization to first try to load it and then register the kfuncs. This has the advantage of not exporting kfuncs when HID-BPF is not working. Signed-off-by: Benjamin Tissoires --- no changes in v2 --- drivers/hid/bpf/hid_bpf_dispatch.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/hid/bpf/hid_bpf_dispatch.c b/drivers/hid/bpf/hid_bpf_dispatch.c index 26117b4ec016..8a034a555d4c 100644 --- a/drivers/hid/bpf/hid_bpf_dispatch.c +++ b/drivers/hid/bpf/hid_bpf_dispatch.c @@ -514,15 +514,16 @@ static int __init hid_bpf_init(void) return 0; } - err = register_btf_kfunc_id_set(BPF_PROG_TYPE_TRACING, &hid_bpf_kfunc_set); + err = hid_bpf_preload_skel(); if (err) { - pr_warn("error while setting HID BPF tracing kfuncs: %d", err); + pr_warn("error while preloading HID BPF dispatcher: %d", err); return 0; } - err = hid_bpf_preload_skel(); + /* register tracing kfuncs after we are sure we can load our preloaded bpf program */ + err = register_btf_kfunc_id_set(BPF_PROG_TYPE_TRACING, &hid_bpf_kfunc_set); if (err) { - pr_warn("error while preloading HID BPF dispatcher: %d", err); + pr_warn("error while setting HID BPF tracing kfuncs: %d", err); return 0; } -- 2.38.1