Subject: kern/33867: KASSERT firing in NFS code
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <martin@aprisoft.de>
List: netbsd-bugs
Date: 06/29/2006 15:45:01
>Number:         33867
>Category:       kern
>Synopsis:       KASSERT firing in NFS code
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 29 15:45:00 +0000 2006
>Originator:     Martin Husemann
>Release:        NetBSD 3.99.21
>Organization:
>Environment:
System: NetBSD nelly.aprisoft.de 3.99.21 NetBSD 3.99.21 (NELLY) #0: Sat Jun 24 14:45:10 CEST 2006 martin@nelly.aprisoft.de:/usr/src/sys/arch/sparc64/compile/NELLY sparc64
Architecture: sparc64
Machine: sparc64
>Description:

I have a sparc64 machine that both mounts a share via NFS and exports
another filesystem via NFS. When trying to mount the latter I got a
kernel assertion failure:

void
nfsdreq_free(struct nfsrv_descript *nd)
{
        kauth_cred_t cr;
  
        cr = nd->nd_cr;
        if (cr != NULL) {
                KASSERT(kauth_cred_getrefcnt(cr) == 1);
                kauth_cred_free(cr);
        }
        pool_put(&nfs_srvdesc_pool, nd);
}


>How-To-Repeat:

I can not easily repeat this, no idea what happened exactly.
The "mount" command on the NFS client had not finished yet when the KASSERT
struck.

>Fix:
n/a

>Unformatted: