[PATCH v2 0/5] nfsd/sunrpc: allow userland to handle rpcbind registration

From: Jeff Layton

Date: Mon Sep 14 2026 - 12:06:09 EST


While working on the recent hardening patches for the nfsd listener
netlink interface, Chuck mentioned that we could allow userland to
handle rpcbind registation itself.

This adds such a mechanism to the netlink listener set interface. The
main idea is to add a new optional flag to the netlink downcall that
tells the kernel to skip rpcbind registration altogether for the nfsd
listeners.

Note that NLM registration is not affected and is still handled by the
kernel. Handling that is trickier since it can be started by the
client.

Patches to nfsdctl will follow.

Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
Changes in v2:
- Refuse the legacy portlist add-fd write against a userspace-rpcbind
serv. nfsd_create_serv() cannot flip ownership back for an existing
serv, svc_addsock() expects svc_register() to register the listener,
and there is no way to tell the rpcbind owner about it.
- selftests: require NFSv3 in the reply and skip where NFSv4 is not
built, rather than passing when neither is present.
- selftests: cover the portlist refusal.
- Link to v1: https://lore.kernel.org/r/20260910-nfsd-norpcb-v1-0-b4d5182d634c@xxxxxxxxxx

---
Jeff Layton (5):
SUNRPC: allow a service to opt out of rpcbind registration
NFSD: add a userspace-rpcbind flag to listener_set
NFSD: honour the userspace-rpcbind flag in listener_set
NFSD: report registerable programs in the listener_set reply
selftests/nfsd: exercise the userspace-rpcbind listener_set flag

Documentation/netlink/specs/nfsd.yaml | 55 +++-
fs/nfsd/netlink.c | 5 +-
fs/nfsd/nfsctl.c | 169 +++++++++-
fs/nfsd/nfsd.h | 4 +-
fs/nfsd/nfssvc.c | 67 ++--
include/linux/sunrpc/svc.h | 2 +
include/uapi/linux/nfsd_netlink.h | 20 ++
net/sunrpc/svc.c | 5 +
net/sunrpc/svc_xprt.c | 2 +-
.../testing/selftests/nfsd/nfsd_netlink_listener.c | 361 ++++++++++++++++++++-
10 files changed, 655 insertions(+), 35 deletions(-)
---
base-commit: 4d46e877c21d07ddcad03da7f3b05ad2cc22b5b3
change-id: 20260903-nfsd-norpcb-21cdcaf246bb

Best regards,
--
Jeff Layton <jlayton@xxxxxxxxxx>