
From: NeilBrown <neilb@cse.unsw.edu.au>



---

 fs/nfsd/nfs4state.c |    4 ++++
 1 files changed, 4 insertions(+)

diff -puN fs/nfsd/nfs4state.c~knfsd-OP_OPEN_CONFIRM-fix fs/nfsd/nfs4state.c
--- 25/fs/nfsd/nfs4state.c~knfsd-OP_OPEN_CONFIRM-fix	2004-02-25 02:32:24.000000000 -0800
+++ 25-akpm/fs/nfsd/nfs4state.c	2004-02-25 02:32:24.000000000 -0800
@@ -1534,6 +1534,10 @@ nfsd4_open_confirm(struct svc_rqst *rqst
 	dprintk("NFSD: nfsd4_open_confirm on file %.*s\n",
 			(int)current_fh->fh_dentry->d_name.len,
 			current_fh->fh_dentry->d_name.name);
+
+	if ((status = fh_verify(rqstp, current_fh, S_IFREG, 0)))
+		goto out;
+
 	oc->oc_stateowner = NULL;
 	nfs4_lock_state();
 

_
