summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2002-06-28 21:53:08 +0000
committerjhb <jhb@FreeBSD.org>2002-06-28 21:53:08 +0000
commit8969d48c6a2e21220ae7000e4c28ee28457f6cfb (patch)
treef6302b3f761931fc1074cb1657defdbc4fdbe2fa /sys/nfsclient/nfs.h
parent6a65638bb394a78dc4803ab26316afa31d605667 (diff)
downloadFreeBSD-src-8969d48c6a2e21220ae7000e4c28ee28457f6cfb.zip
FreeBSD-src-8969d48c6a2e21220ae7000e4c28ee28457f6cfb.tar.gz
In namei(), we use a NULL thread for uio_td when doing a VOP_READLINK().
nfs_readlink() calls nfs_bioread() which passes in uio_td as the thread argument to nfs_getcacheblk(). In nfs_getcacheblk() we dereference the thread pointer to get a process pointer to pass to nfs_sigintr(). This obviously results in a panic. :) Rather than change nfs_getcacheblk() to check if the thread pointer is NULL when calling nfs_sigintr() like other callers do, change nfs_sigintr() to take a thread as the last argument instead of a process so none of the callers have to care if the thread is NULL or not.
Diffstat (limited to 'sys/nfsclient/nfs.h')
-rw-r--r--sys/nfsclient/nfs.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/nfsclient/nfs.h b/sys/nfsclient/nfs.h
index 8836eb4..1be8608 100644
--- a/sys/nfsclient/nfs.h
+++ b/sys/nfsclient/nfs.h
@@ -267,7 +267,7 @@ int nfs_nfsiodnew(void);
int nfs_asyncio(struct buf *, struct ucred *, struct thread *);
int nfs_doio(struct buf *, struct ucred *, struct thread *);
int nfs_readlinkrpc(struct vnode *, struct uio *, struct ucred *);
-int nfs_sigintr(struct nfsmount *, struct nfsreq *, struct proc *);
+int nfs_sigintr(struct nfsmount *, struct nfsreq *, struct thread *);
int nfs_readdirplusrpc(struct vnode *, struct uio *, struct ucred *);
int nfs_request(struct vnode *, struct mbuf *, int, struct thread *,
struct ucred *, struct mbuf **, struct mbuf **, caddr_t *);
OpenPOWER on IntegriCloud