Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp4097183rwd; Tue, 23 May 2023 03:06:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7q87wFmHycE34UWxelei+NBHy6RAiAmOxCZwJjju0+YZni+KNgdTF19kTB1YM0Cv6jUhnO X-Received: by 2002:a17:902:6bc2:b0:1ae:6e7b:9bb4 with SMTP id m2-20020a1709026bc200b001ae6e7b9bb4mr12069856plt.59.1684836373547; Tue, 23 May 2023 03:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684836373; cv=none; d=google.com; s=arc-20160816; b=q0BSv93VkHpxy5DQH7zkwBnQ06wrffqaBvhgmSqKMndjKhskgHERkk7WXpeE1SOYW6 tCWkByWc6ueJSbjs2KBMaMbVCcLeNL9Y+CCLVjVHPc4kKxCRmAUjgJhX50/ImmLNwSdQ 2mE05Fb9JMhpOkvZj9inxX6n/Euvh3DtPjFV08vw4mGO2wTHVE65khCTY840i/X7Ag4O LDLYzulkRBGRRZiTdjt08NkmMklVrlOkp8HKjS6C2we9LHbXwrkIOmjvoLGwlMe6PpQb etowQ4PuF2IA6qivmJEfwOB1Qb59o8M3JFfOPdZ4mkzWs9K0aOEJhUwVJM9IoC1PMV0Y Zi+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=TqXnG3ZB8+BvVfnIqtc0c1rB3vrYedf1UDcKVvrMOR0=; b=UfVtmPxWmg6LjaS+qR1evjkhRkpiMqiuhiFI5RCAd49VScXoJUKJDI7U8tT5tLR96c vlUYPt2iUhuXxcjC2zAuQvkzTIBn7bHOOO6J8Y4oAoQsOIZpZfhamPueytRX58kcgN0O oHyDH+1dOks96wvSmHEOfncj76IdsXCQJUNd+OEiGzxd8gNbHKKm5qz+OoaWEJb4T6PP 3YXW3bnNbxhMWT32xGJs1h+GSpMlObJeOBJv0ppKKBAzAJoD08f2PVLcVBkydh0dqvJv dgNNvztG7o0vODex6X1Vw2PXhBrt4ZIiEYm5Zpr9Sx89tR1uIaNzi4CiumP4uUrri4QV TEcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=AOY3svIe; 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=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z9-20020a170903018900b001ab08e28e0dsi2545192plg.50.2023.05.23.03.05.58; Tue, 23 May 2023 03:06:13 -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=@kernel.org header.s=k20201202 header.b=AOY3svIe; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236431AbjEWJvd (ORCPT + 99 others); Tue, 23 May 2023 05:51:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35420 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236156AbjEWJtb (ORCPT ); Tue, 23 May 2023 05:49:31 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0881E7A; Tue, 23 May 2023 02:49:18 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3376060D2D; Tue, 23 May 2023 09:49:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1E9FDC433EF; Tue, 23 May 2023 09:49:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684835357; bh=F/kNVB79mMMqUME2ygzIJRbu7qcW7y1FnAv1mRYfEH8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=AOY3svIebr1ZJz2DqCK1GD5W8HSGiLHYu7cLu4k20tmfrNp44PHB3dNw9SHjv4LPJ xeeilKV/n25FpF6uSKFm14nsNYHvq1zbs//3T6Fq4+Xc6GMybkU+eIeMw1DIqeyMGg T0oF3ExydPAIHEewvW9crtw9QS9VdHZocJugetsBMpAbfPbreCHUqcYCIZkIAM0YTi fj0scCGwt87RkMtSthHiZj3B7NfEoJInXpFLl7H52CVwm3e740LSOwMsd5Rfy0y/kq HQ6Q7EJaQYbiFU0Bzj6q9nGN+z5Od1pc7eBUT1jSmPuWnHxwMqIJxW68T3Uzkt225D QDfgj5jJeluHg== Date: Tue, 23 May 2023 11:49:10 +0200 From: Christian Brauner To: Jakub Kicinski Cc: Alexander Mikhalitsyn , davem@davemloft.net, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Eric Dumazet , Paolo Abeni , Leon Romanovsky , David Ahern , Arnd Bergmann , Kees Cook , Kuniyuki Iwashima , Lennart Poettering , Luca Boccassi , linux-arch@vger.kernel.org Subject: Re: [PATCH net-next v6 1/3] scm: add SO_PASSPIDFD and SCM_PIDFD Message-ID: <20230523-flechten-ortsschild-e5724ecc4ed0@brauner> References: <20230522132439.634031-1-aleksandr.mikhalitsyn@canonical.com> <20230522132439.634031-2-aleksandr.mikhalitsyn@canonical.com> <20230522133409.5c6e839a@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230522133409.5c6e839a@kernel.org> X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, 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 Mon, May 22, 2023 at 01:34:09PM -0700, Jakub Kicinski wrote: > On Mon, 22 May 2023 15:24:37 +0200 Alexander Mikhalitsyn wrote: > > v6: > > - disable feature when CONFIG_UNIX=n/m (pidfd_prepare API is not exported to modules) > > IMHO hiding the code under #if IS_BUILTIN(CONFIG_UNRELATED) is > surprising to the user and.. ugly? > > Can we move scm_pidfd_recv() into a C source and export that? > That should be less controversial than exporting pidfd_prepare() > directly? I really would like to avoid that because it will just mean that someone else will abuse that function and then make an argument why we should export the other function. I think it would be ok if we required that unix support is built in because it's not unprecedented either and we're not breaking anything. Bpf has the same requirement: #if IS_BUILTIN(CONFIG_UNIX) && defined(CONFIG_BPF_SYSCALL) struct bpf_unix_iter_state { struct seq_net_private p; unsigned int cur_sk; unsigned int end_sk; unsigned int max_sk; struct sock **batch; bool st_bucket_done; }; and #if IS_BUILTIN(CONFIG_UNIX) && defined(CONFIG_BPF_SYSCALL) && defined(CONFIG_PROC_FS) DEFINE_BPF_ITER_FUNC(unix, struct bpf_iter_meta *meta, struct unix_sock *unix_sk, uid_t uid)