From nobody Mon Feb 3 16:22:37 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YmsGz0kfPz5m207; Mon, 03 Feb 2025 16:22:51 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4YmsGx5plFz3XhF; Mon, 03 Feb 2025 16:22:49 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none) Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 513GMb4O020914; Mon, 3 Feb 2025 18:22:40 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 513GMb4O020914 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 513GMbGq020913; Mon, 3 Feb 2025 18:22:37 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 3 Feb 2025 18:22:37 +0200 From: Konstantin Belousov To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: c5d671b711c3 - main - libc/rpc: add userland side RPC server over netlink(4) Message-ID: References: <202502010902.51192534047826@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202502010902.51192534047826@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Spamd-Result: default: False [1.01 / 15.00]; NEURAL_SPAM_LONG(0.99)[0.988]; NEURAL_SPAM_MEDIUM(0.98)[0.977]; NEURAL_HAM_SHORT(-0.96)[-0.960]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCPT_COUNT_THREE(0.00)[4]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; RCVD_TLS_LAST(0.00)[]; HAS_XAW(0.00)[] X-Spamd-Bar: + X-Rspamd-Queue-Id: 4YmsGx5plFz3XhF On Sat, Feb 01, 2025 at 09:02:05AM +0000, Gleb Smirnoff wrote: > The branch main has been updated by glebius: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c5d671b711c34fb9eec55531663182feedd93f87 > > commit c5d671b711c34fb9eec55531663182feedd93f87 > Author: Gleb Smirnoff > AuthorDate: 2025-02-01 01:02:00 +0000 > Commit: Gleb Smirnoff > CommitDate: 2025-02-01 09:00:25 +0000 > > libc/rpc: add userland side RPC server over netlink(4) > > To be used by NFS related daemons that provide RPC services to the kernel. > Some implementation details inside the new svc_nl.c. > > Reviewed by: rmacklem > Differential Revision: https://reviews.freebsd.org/D48550 > --- > include/rpc/svc.h | 6 + > lib/libc/rpc/Makefile.inc | 2 +- > lib/libc/rpc/Symbol.map | 4 + > lib/libc/rpc/rpc_generic.c | 3 +- > lib/libc/rpc/svc_nl.c | 300 +++++++++++++++++++++++++++++++++++++++++++++ > 5 files changed, 313 insertions(+), 2 deletions(-) > > diff --git a/include/rpc/svc.h b/include/rpc/svc.h > index d4a84384bb92..deb626ad7c1d 100644 > --- a/include/rpc/svc.h > +++ b/include/rpc/svc.h > @@ -455,6 +455,12 @@ extern SVCXPRT *svc_fd_create(const int, const u_int, const u_int); > */ > extern SVCXPRT *svcunixfd_create(int, u_int, u_int); > > +/* > + * netlink(4) server creation. To be used to service requests that > + * originate from an in-kernel client. > + */ > +extern SVCXPRT *svc_nl_create(const char *); > + > /* > * Memory based rpc (for speed check and testing) > */ > diff --git a/lib/libc/rpc/Makefile.inc b/lib/libc/rpc/Makefile.inc > index 5ee4ffc256a2..87963d10eec1 100644 > --- a/lib/libc/rpc/Makefile.inc > +++ b/lib/libc/rpc/Makefile.inc > @@ -8,7 +8,7 @@ SRCS+= auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ > rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ > rpcb_st_xdr.c rpcsec_gss_stub.c svc.c svc_auth.c svc_dg.c \ > svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c svc_simple.c \ > - svc_vc.c > + svc_vc.c svc_nl.c > > # Secure-RPC > SRCS+= auth_time.c auth_des.c authdes_prot.c des_crypt.c des_soft.c \ > diff --git a/lib/libc/rpc/Symbol.map b/lib/libc/rpc/Symbol.map > index e4fecb83ec66..105d6fb6b54e 100644 > --- a/lib/libc/rpc/Symbol.map > +++ b/lib/libc/rpc/Symbol.map > @@ -199,6 +199,10 @@ FBSD_1.0 { > __rpc_get_local_uid; > }; > > +FBSD_1.8 { > + svc_nl_create; > +}; > + Are you sure that you want this symbol to be public? Do you envision that some out-of-base component would utilize it? Do you intend to keep the interface stable? Previous rpc syscall(s) were in private namespace.