Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp2658240rwn; Fri, 16 Sep 2022 14:02:03 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4iYMtbcUzeWiJQQKZV5dTggoVHw6/VLy5XRk6ze4mDM7VScNNIxn6UHBeLPw/HbPr3v19V X-Received: by 2002:a17:902:724c:b0:177:5080:cbeb with SMTP id c12-20020a170902724c00b001775080cbebmr1622485pll.67.1663362122905; Fri, 16 Sep 2022 14:02:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663362122; cv=none; d=google.com; s=arc-20160816; b=ZqobCxbc0k4K4HhUsO3OVgDfiFhsEjtzTo4zjps7CwiB8mf831DcjDRUjQREcMYCGL MN/8B5+mkFfXyZV3KbuMiZZtuVA9c5TdD8qawxYnMtv3ydMK4q/oWdT0yG0wbDW6uxgV 7r9jyn8QYeJw+iZA+jACJFdM+zZwykdAKgOeJR0LUFnc0ocDfBDHlZc5+nXZ8Bb7O3l6 FAC+ePbIj/BrUue1rgDePn5BnrGfVBzFRsoddJ8uhDz8URhBOfSBaJ5mdJLC/CXnWqB3 ChjSb9EgrNLeNrcWkI0ZpR7yWTU4NP9itvskyPeCs1fL5xgM7pIgIEjt5Ri0qpikMACM HxKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=E/eHaXadKYRfEPHdHJj7a6e9LfvJSW3hiZL/ARWnO4I=; b=OTD883cBL2e+lRNSAosXotKZ8HmGGfRGMl5aic/++8UDnGkcNp3Gcu8/tuWWe3YBra VQJpUN9BPSt0g6089V3z9sOJ0Sfe7nm3WIogUxC4Ydo3hZ3cAIMeEw//cVvZkEnGXbbI YpT9liJc5NDpekfeFot2W3cJB4TLbOMBjGihvwnx7uZvyWofwzuj55x4bI8ETjL28Qsr RZgNPQ4qa6KjtFn450CJYp8W3XhGXU8uMllKMMgzHL9Bjb7QBbJSC7ddmaGE3ROTY3Rn NbdU3dzfjFwaD8cazpF3HDwjUkzWt/CxROg0sDW4nJYbzL9NrxZkKC1yIU1diXOSOizP GHCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=lGkpYK7f; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t4-20020a637804000000b00430980f6062si9058658pgc.351.2022.09.16.14.01.27; Fri, 16 Sep 2022 14:02:02 -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; dkim=pass header.i=@gmail.com header.s=20210112 header.b=lGkpYK7f; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230357AbiIPUfq (ORCPT + 99 others); Fri, 16 Sep 2022 16:35:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229495AbiIPUfl (ORCPT ); Fri, 16 Sep 2022 16:35:41 -0400 Received: from mail-io1-xd41.google.com (mail-io1-xd41.google.com [IPv6:2607:f8b0:4864:20::d41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5229FDDE; Fri, 16 Sep 2022 13:35:40 -0700 (PDT) Received: by mail-io1-xd41.google.com with SMTP id b23so18309128iof.2; Fri, 16 Sep 2022 13:35:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=E/eHaXadKYRfEPHdHJj7a6e9LfvJSW3hiZL/ARWnO4I=; b=lGkpYK7fcoe0Jl0Q2cWT6stE8XfrhvuvnI4LmdCcWvylFApkYbIJjR9MmZM+fyaLym Tb8QM/m2Yvl5urFxtJkIcOpZY5/404SjcI7acX524FeR+4Mm38YpQxv0rr62l7mloS70 JDn/PZ4eXq9sZjYY7C0J51zIlt0PuCfPIMvCf8ZMyFqRu5M3Le6QXRiLd3L3idIbg7Ts /EmI+vhpdk3EM7Ga746GspENyfYwbb/qM+E0KKuB5/NQN73uGY1aezNjOCfc4SoFnVlC EhciUvfapMm0rYSnfMh8vWvUdsWoqdTcGR+zX4hzpXqAxTpNpQsnm6jpGe4x5ZolzCV+ ot4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=E/eHaXadKYRfEPHdHJj7a6e9LfvJSW3hiZL/ARWnO4I=; b=cTLTQIMC3iq7AJxOCcDCn5TpCKSKiVW31hECt0cQzATEIOgVgsOhUoOM//u43rGEC2 piRUXdi4uFqN3P+EsMCTgHNRZKkontu6vjxIdrKsbwuHtbusfmLHmO/q/tjpYu9XF4D/ FhgOXKqEdeDIm9ZwU1Hg64aWBxgjOQYRoxi/eoRbqEhvYQQAuMKx5LiGJrH1RF9N+5LG b362/GVNijBkUL3gfpTgE7bbo79mmsV7Y1YG9ec3tuLtI8jTgordcdObEeswL1Og6Va9 NMFMvi/jAPi4EVMucq5mRVmVJJNCbytvf8+KgrKUzk3RMTYStgLyD6NB3252t2lrM0Z8 5R9w== X-Gm-Message-State: ACrzQf0XFP+A1K2P3ntrUAnyBmZp169zlcV2Rx5ZpHXZlfq8xTxQE7AL dZyqbf8ZjIVh2OFI7bOT6g3qiOs6m6m9+j9OTqzWqVPC X-Received: by 2002:a05:6602:2e88:b0:6a1:6d80:cff5 with SMTP id m8-20020a0566022e8800b006a16d80cff5mr2670331iow.168.1663360539564; Fri, 16 Sep 2022 13:35:39 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Kumar Kartikeya Dwivedi Date: Fri, 16 Sep 2022 22:35:03 +0200 Message-ID: Subject: Re: [PATCH bpf-next] bpf: Move nf_conn extern declarations to filter.h To: Martin KaFai Lau Cc: Daniel Xu , pablo@netfilter.org, fw@strlen.de, toke@kernel.org, netfilter-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS 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 Fri, 16 Sept 2022 at 22:20, Martin KaFai Lau wrote: > > On 9/11/22 11:19 AM, Daniel Xu wrote: > > We're seeing the following new warnings on netdev/build_32bit and > > netdev/build_allmodconfig_warn CI jobs: > > > > ../net/core/filter.c:8608:1: warning: symbol > > 'nf_conn_btf_access_lock' was not declared. Should it be static? > > ../net/core/filter.c:8611:5: warning: symbol 'nfct_bsa' was not > > declared. Should it be static? > > > > Fix by ensuring extern declaration is present while compiling filter.o. > > > > Signed-off-by: Daniel Xu > > --- > > include/linux/filter.h | 6 ++++++ > > include/net/netfilter/nf_conntrack_bpf.h | 7 +------ > > 2 files changed, 7 insertions(+), 6 deletions(-) > > > > diff --git a/include/linux/filter.h b/include/linux/filter.h > > index 527ae1d64e27..96de256b2c8d 100644 > > --- a/include/linux/filter.h > > +++ b/include/linux/filter.h > > @@ -567,6 +567,12 @@ struct sk_filter { > > > > DECLARE_STATIC_KEY_FALSE(bpf_stats_enabled_key); > > > > +extern struct mutex nf_conn_btf_access_lock; > > +extern int (*nfct_bsa)(struct bpf_verifier_log *log, const struct btf *btf, > > + const struct btf_type *t, int off, int size, > > + enum bpf_access_type atype, u32 *next_btf_id, > > + enum bpf_type_flag *flag); > > Can it avoid leaking the nfct specific details like > 'nf_conn_btf_access_lock' and the null checking on 'nfct_bsa' to > filter.c? In particular, this code snippet in filter.c: > > mutex_lock(&nf_conn_btf_access_lock); > if (nfct_bsa) > ret = nfct_bsa(log, btf, ....); > mutex_unlock(&nf_conn_btf_access_lock); > > > Can the lock and null check be done as one function (eg. > nfct_btf_struct_access()) in nf_conntrack_bpf.c and use it in filter.c > instead? Don't think so, no. Because we want nf_conntrack to work as a module as well. I was the one who suggested nf_conn specific names for now. There is no other user of such module supplied btf_struct_access callbacks yet, when one appears, we should instead make registration of such callbacks properly generic (i.e. also enforce it is only for module BTF ID etc.). But that would be a lot of code without any users right now. > > btw, 'bsa' stands for btf_struct_access? It is a bit too short to guess ;) > > Also, please add a Fixes tag. > Agreed. Daniel, can you address the remaining two points from Martin and respin?