From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F1183C433EF for ; Sat, 5 Mar 2022 16:58:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231375AbiCEQ6x (ORCPT ); Sat, 5 Mar 2022 11:58:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229543AbiCEQ6x (ORCPT ); Sat, 5 Mar 2022 11:58:53 -0500 Received: from gofer.mess.org (gofer.mess.org [IPv6:2a02:8011:d000:212::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5408E41FA9; Sat, 5 Mar 2022 08:58:02 -0800 (PST) Received: by gofer.mess.org (Postfix, from userid 1000) id 47BBB101CB3; Sat, 5 Mar 2022 16:58:00 +0000 (UTC) Date: Sat, 5 Mar 2022 16:58:00 +0000 From: Sean Young To: Benjamin Tissoires Cc: Song Liu , Greg KH , Jiri Kosina , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Shuah Khan , Dave Marchevsky , Joe Stringer , Tero Kristo , open list , "open list:HID CORE LAYER" , Networking , bpf , linux-kselftest@vger.kernel.org Subject: Re: [PATCH bpf-next v2 01/28] bpf: add new is_sys_admin_prog_type() helper Message-ID: References: <20220304172852.274126-1-benjamin.tissoires@redhat.com> <20220304172852.274126-2-benjamin.tissoires@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org On Sat, Mar 05, 2022 at 11:07:04AM +0100, Benjamin Tissoires wrote: > On Sat, Mar 5, 2022 at 12:12 AM Song Liu wrote: > > > > On Fri, Mar 4, 2022 at 9:30 AM Benjamin Tissoires > > wrote: > > > > > > LIRC_MODE2 does not really need net_admin capability, but only sys_admin. > > > > > > Extract a new helper for it, it will be also used for the HID bpf > > > implementation. > > > > > > Cc: Sean Young > > > Signed-off-by: Benjamin Tissoires > > > > > > --- > > > > > > new in v2 > > > --- > > > kernel/bpf/syscall.c | 14 +++++++++++++- > > > 1 file changed, 13 insertions(+), 1 deletion(-) > > > > > > diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c > > > index db402ebc5570..cc570891322b 100644 > > > --- a/kernel/bpf/syscall.c > > > +++ b/kernel/bpf/syscall.c > > > @@ -2165,7 +2165,6 @@ static bool is_net_admin_prog_type(enum bpf_prog_type prog_type) > > > case BPF_PROG_TYPE_LWT_SEG6LOCAL: > > > case BPF_PROG_TYPE_SK_SKB: > > > case BPF_PROG_TYPE_SK_MSG: > > > - case BPF_PROG_TYPE_LIRC_MODE2: > > > case BPF_PROG_TYPE_FLOW_DISSECTOR: > > > case BPF_PROG_TYPE_CGROUP_DEVICE: > > > case BPF_PROG_TYPE_CGROUP_SOCK: > > > @@ -2202,6 +2201,17 @@ static bool is_perfmon_prog_type(enum bpf_prog_type prog_type) > > > } > > > } > > > > > > +static bool is_sys_admin_prog_type(enum bpf_prog_type prog_type) > > > +{ > > > + switch (prog_type) { > > > + case BPF_PROG_TYPE_LIRC_MODE2: > > > + case BPF_PROG_TYPE_EXT: /* extends any prog */ > > > + return true; > > > + default: > > > + return false; > > > + } > > > +} > > > > I am not sure whether we should do this. This is a behavior change, that may > > break some user space. Also, BPF_PROG_TYPE_EXT is checked in > > is_perfmon_prog_type(), and this change will make that case useless. > > Sure, I can drop it from v3 and make this function appear for HID only. For BPF_PROG_TYPE_LIRC_MODE2, I don't think this change will break userspace. This is called from ir-keytable(1) which is called from udev. It should have all the necessary permissions. In addition, the vast majority IR decoders are non-bpf. bpf ir decoders have very few users at the moment. I am working on completely new userspace tooling which will make extensive use of bpf ir decoding with full lircd and IRP compatibility, but this is not finished yet (see https://github.com/seanyoung/cir). Thanks Sean