Fix possible leak of mnt/dentry references. In error cases, we might not drop references to mnt/dentry. Thanks to Al Viro ----------- Diffstat output ------------ ./fs/nfsd/export.c | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) --- ./fs/nfsd/export.c 2002/03/18 01:34:47 1.2 +++ ./fs/nfsd/export.c 2002/03/18 01:35:27 1.3 @@ -221,8 +221,8 @@ strcpy(exp->ex_path, nxp->ex_path); exp->ex_client = clp; exp->ex_parent = parent; - exp->ex_dentry = nd.dentry; - exp->ex_mnt = nd.mnt; + exp->ex_dentry = dget(nd.dentry); + exp->ex_mnt = mntget(nd.mnt); exp->ex_flags = nxp->ex_flags; exp->ex_dev = dev; exp->ex_ino = ino; @@ -248,16 +248,12 @@ err = 0; - /* Unlock hashtable */ +finish: + path_release(&nd); out_unlock: exp_unlock(); out: return err; - - /* Release the dentry */ -finish: - path_release(&nd); - goto out_unlock; } /*