diff options
author | marcel <marcel@FreeBSD.org> | 2004-12-05 22:30:28 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-12-05 22:30:28 +0000 |
commit | 8b42e21d12e627514808f983d93b02293eaab637 (patch) | |
tree | b7d392ad362fc25b52f43db8941e094488d81377 /sys/nfsclient/nfs_vnops.c | |
parent | a12b213cad178436bbc1475d01f6bc93f197db3b (diff) | |
download | FreeBSD-src-8b42e21d12e627514808f983d93b02293eaab637.zip FreeBSD-src-8b42e21d12e627514808f983d93b02293eaab637.tar.gz |
Fix null-pointer indirect function calls introduced in the previous
commit. In the new world order, the transitive closure on the vector
operations is not precomputed. As such, it's unsafe to actually use
any of the function pointers in an indirect function call. They can
be null, and we need to use the default vector in that case.
This is mostly a quick fix for the four function pointers that are
ed explicitly. A more generic or scalable solution is likely to see
the light of day.
No pathos on: current@
Diffstat (limited to 'sys/nfsclient/nfs_vnops.c')
-rw-r--r-- | sys/nfsclient/nfs_vnops.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index 50756d3..48153d8 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -3036,7 +3036,7 @@ nfsfifo_read(struct vop_read_args *ap) */ np->n_flag |= NACC; getnanotime(&np->n_atim); - return (fifo_specops.vop_read(ap)); + return (vop_read(&fifo_specops, ap)); } /* @@ -3052,7 +3052,7 @@ nfsfifo_write(struct vop_write_args *ap) */ np->n_flag |= NUPD; getnanotime(&np->n_mtim); - return (fifo_specops.vop_write(ap)); + return (vop_write(&fifo_specops, ap)); } /* @@ -3087,7 +3087,7 @@ nfsfifo_close(struct vop_close_args *ap) VOP_UNLOCK(vp, 0, ap->a_td); } } - return (fifo_specops.vop_close(ap)); + return (vop_close(&fifo_specops, ap)); } /* |