[Bug 286796] [nfs] [panic] Kernel panics while working as NFS server

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 14 May 2025 23:10:26 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286796

--- Comment #12 from Konstantin Belousov <kib@FreeBSD.org> ---
The kgdb trace is indeed useful.

I see that the issue came from e4c7b2b6053f2.
Please try the following change.

commit aa52aeb2f2ad00d89649d16474d1fab8196de9fe
Author: Konstantin Belousov <kib@FreeBSD.org>
Date:   Thu May 15 02:07:47 2025 +0300

    nfs server: only cn_pnbuf is initialized in nfsrvd_lookup()

    PR:     286796

diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c
index a855d6548265..b26fc59bcd6d 100644
--- a/sys/fs/nfsserver/nfs_nfsdserv.c
+++ b/sys/fs/nfsserver/nfs_nfsdserv.c
@@ -628,8 +628,8 @@ nfsrvd_lookup(struct nfsrv_descript *nd, __unused int
isdgram,
        }
        if (!nd->nd_repstat) {
                /* Don't set OPENNAMED for Lookupp (".."). */
-               if (cnp->cn_namelen == 2 && *cnp->cn_nameptr == '.' &&
-                   *(cnp->cn_nameptr + 1) == '.')
+               if (cnp->cn_namelen == 2 && *cnp->cn_pnbuf == '.' &&
+                   *(cnp->cn_pnbuf + 1) == '.')
                        cnp->cn_flags &= ~OPENNAMED;
                nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp);
        } else {

-- 
You are receiving this mail because:
You are the assignee for the bug.