Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jul 2002 18:36:28 -0400 (EDT)
From:      Hiten Pandya <hiten@angelica.unixdaemons.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/40360: Change (type foo *)0 to NULL in the NFS{Client,Server} code
Message-ID:  <200207082236.g68MaSgj048656@angelica.unixdaemons.com>

next in thread | raw e-mail | index | archive | help

>Number:         40360
>Category:       kern
>Synopsis:       Change (type foo *)0 to NULL in the NFS{Client,Server} code
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 08 15:40:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Hiten Pandya
>Release:        FreeBSD 5.0-CURRENT
>Organization:
>Environment:
	FreeBSD 5.0-CURRENT i386
	
>Description:
	The NFS code in -CURRENT makes use of the old style way of refering
	to a null pointer, e.g. so = (struct socket *)0;, which should now be
	changed to use the NULL entity, e.g. so = NULL;

	I have produced a set of patches which fixes the above issue.  This
	information has been verified over IRC and Email so I am sure it is
	something that needs to be fixed.

	The Patch is also available from:
	http://www.unixdaemons.com/~hiten/work/diffs/nfsnull.patch

	Please do not hesistate to contact me for more information regarding
	this issue.

	P.S. This patches do _NOT_ need to be MFC'ed.
	
	Thank You.
		
		Hiten Pandya
		http://www.unixdaemons.com/~hiten
		hiten@{unixdaemons.com,uk.FreeBSD.org}
		
>How-To-Repeat:
	Check the NFS Server and Client code in -CURRENT.	
>Fix:

	Apply the patches provided below and live happily ever after. :-)

--- nfsnull.patch begins here ---
Index: sbin/mount_nfs/mount_nfs.c
===================================================================
RCS file: /home/ncvs/src/sbin/mount_nfs/mount_nfs.c,v
retrieving revision 1.50
diff -u -r1.50 mount_nfs.c
--- sbin/mount_nfs/mount_nfs.c	2002/03/21 13:14:20	1.50
+++ sbin/mount_nfs/mount_nfs.c	2002/07/08 22:24:20
@@ -125,11 +125,11 @@
 
 struct nfs_args nfsdefargs = {
 	NFS_ARGSVERSION,
-	(struct sockaddr *)0,
+	NULL,
 	sizeof (struct sockaddr_in),
 	SOCK_DGRAM,
 	0,
-	(u_char *)0,
+	NULL,
 	0,
 	NFSMNT_RESVPORT,
 	NFS_WSIZE,
@@ -141,7 +141,7 @@
 	NFS_DEFRAHEAD,
 	0,			/* was: NQ_DEFLEASE */
 	NFS_MAXDEADTHRESH,	/* was: NQ_DEADTHRESH */
-	(char *)0,
+	NULL,
 	/* args version 4 */
 	NFS_MINATTRTIMO,
 	NFS_MAXATTRTIMO,
Index: sys/nfsclient/nfs_bio.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_bio.c,v
retrieving revision 1.108
diff -u -r1.108 nfs_bio.c
--- sys/nfsclient/nfs_bio.c	2002/06/28 21:53:08	1.108
+++ sys/nfsclient/nfs_bio.c	2002/07/08 22:24:22
@@ -1025,9 +1025,9 @@
 
 	if (nmp->nm_flag & NFSMNT_INT) {
 		bp = getblk(vp, bn, size, PCATCH, 0);
-		while (bp == (struct buf *)0) {
-			if (nfs_sigintr(nmp, (struct nfsreq *)0, td))
-				return ((struct buf *)0);
+		while (bp == NULL) {
+			if (nfs_sigintr(nmp, NULL, td))
+				return(NULL);
 			bp = getblk(vp, bn, size, 0, 2 * hz);
 		}
 	} else {
@@ -1076,7 +1076,7 @@
 		error = tsleep((caddr_t)&np->n_flag, PRIBIO + 2, "nfsvinval",
 			slptimeo);
 		if (error && intrflg &&
-		    nfs_sigintr(nmp, (struct nfsreq *)0, td))
+		    nfs_sigintr(nmp, NULL, td))
 			return (EINTR);
 	}
 
@@ -1087,7 +1087,7 @@
 	error = vinvalbuf(vp, flags, cred, td, slpflag, 0);
 	while (error) {
 		if (intrflg &&
-		    nfs_sigintr(nmp, (struct nfsreq *)0, td)) {
+		    nfs_sigintr(nmp, NULL, td)) {
 			np->n_flag &= ~NFLUSHINPROG;
 			if (np->n_flag & NFLUSHWANT) {
 				np->n_flag &= ~NFLUSHWANT;
@@ -1165,7 +1165,7 @@
 		 */
 		NFS_DPF(ASYNCIO, ("nfs_asyncio: waking iod %d for mount %p\n",
 		    iod, nmp));
-		nfs_iodwant[iod] = (struct proc *)0;
+		nfs_iodwant[iod] = NULL;
 		nfs_iodmount[iod] = nmp;
 		nmp->nm_bufqiods++;
 		wakeup((caddr_t)&nfs_iodwant[iod]);
Index: sys/nfsclient/nfs_nfsiod.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_nfsiod.c,v
retrieving revision 1.74
diff -u -r1.74 nfs_nfsiod.c
--- sys/nfsclient/nfs_nfsiod.c	2002/01/15 20:57:21	1.74
+++ sys/nfsclient/nfs_nfsiod.c	2002/07/08 22:24:23
@@ -258,9 +258,9 @@
 		    wakeup(&nmp->nm_bufq);
 		}
 		if (bp->b_iocmd == BIO_READ)
-		    (void) nfs_doio(bp, bp->b_rcred, (struct thread *)0);
+		    (void) nfs_doio(bp, bp->b_rcred, NULL);
 		else
-		    (void) nfs_doio(bp, bp->b_wcred, (struct thread *)0);
+		    (void) nfs_doio(bp, bp->b_wcred, NULL);
 		/*
 		 * If there are more than one iod on this mount, then defect
 		 * so that the iods can be shared out fairly between the mounts
Index: sys/nfsclient/nfs_node.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_node.c,v
retrieving revision 1.54
diff -u -r1.54 nfs_node.c
--- sys/nfsclient/nfs_node.c	2002/04/27 22:10:16	1.54
+++ sys/nfsclient/nfs_node.c	2002/07/08 22:24:25
@@ -285,9 +285,9 @@
 		vprint("nfs_inactive: pushing active", ap->a_vp);
 	if (ap->a_vp->v_type != VDIR) {
 		sp = np->n_sillyrename;
-		np->n_sillyrename = (struct sillyrename *)0;
+		np->n_sillyrename = NULL;
 	} else
-		sp = (struct sillyrename *)0;
+		sp = NULL;
 	if (sp) {
 		/*
 		 * We need a reference to keep the vnode from being
@@ -354,6 +354,6 @@
 
 	cache_purge(vp);
 	uma_zfree(nfsnode_zone, vp->v_data);
-	vp->v_data = (void *)0;
+	vp->v_data = NULL;
 	return (0);
 }
Index: sys/nfsclient/nfs_socket.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_socket.c,v
retrieving revision 1.82
diff -u -r1.82 nfs_socket.c
--- sys/nfsclient/nfs_socket.c	2002/06/28 21:53:08	1.82
+++ sys/nfsclient/nfs_socket.c	2002/07/08 22:24:26
@@ -160,7 +160,7 @@
 	struct sockaddr_in *sin;
 	struct thread *td = &thread0; /* only used for socreate and sobind */
 
-	nmp->nm_so = (struct socket *)0;
+	nmp->nm_so = NULL;
 	saddr = nmp->nm_nam;
 	error = socreate(saddr->sa_family, &nmp->nm_so, nmp->nm_sotype,
 		nmp->nm_soproto, nmp->nm_cred, td);
@@ -367,7 +367,7 @@
 
 	if (nmp->nm_so) {
 		so = nmp->nm_so;
-		nmp->nm_so = (struct socket *)0;
+		nmp->nm_so = NULL;
 		soshutdown(so, 2);
 		soclose(so);
 	}
@@ -414,7 +414,7 @@
 	soflags = rep->r_nmp->nm_soflags;
 
 	if ((soflags & PR_CONNREQUIRED) || (so->so_state & SS_ISCONNECTED))
-		sendnam = (struct sockaddr *)0;
+		sendnam = NULL;
 	else
 		sendnam = nam;
 	if (so->so_type == SOCK_SEQPACKET)
@@ -475,8 +475,8 @@
 	/*
 	 * Set up arguments for soreceive()
 	 */
-	*mp = (struct mbuf *)0;
-	*aname = (struct sockaddr *)0;
+	*mp = NULL;
+	*aname = NULL;
 	sotype = rep->r_nmp->nm_sotype;
 
 	/*
@@ -541,9 +541,7 @@
 			do {
 			   rcvflg = MSG_WAITALL;
 			   error = so->so_proto->pr_usrreqs->pru_soreceive
-				   (so, (struct sockaddr **)0, &auio,
-				    (struct mbuf **)0, (struct mbuf **)0,
-				    &rcvflg);
+				   (so, NULL, &auio, NULL, NULL, &rcvflg);
 			   if (error == EWOULDBLOCK && rep) {
 				if (rep->r_flags & R_SOFTTERM)
 					return (EINTR);
@@ -583,8 +581,8 @@
 			do {
 			    rcvflg = MSG_WAITALL;
 			    error =  so->so_proto->pr_usrreqs->pru_soreceive
-				    (so, (struct sockaddr **)0,
-				     &auio, mp, (struct mbuf **)0, &rcvflg);
+				    (so, NULL,
+				     &auio, mp, NULL, &rcvflg);
 			} while (error == EWOULDBLOCK || error == EINTR ||
 				 error == ERESTART);
 			if (!error && auio.uio_resid > 0) {
@@ -609,7 +607,7 @@
 			do {
 			    rcvflg = 0;
 			    error =  so->so_proto->pr_usrreqs->pru_soreceive
-				    (so, (struct sockaddr **)0,
+				    (so, NULL,
 				&auio, mp, &control, &rcvflg);
 			    if (control)
 				m_freem(control);
@@ -628,7 +626,7 @@
 errout:
 		if (error && error != EINTR && error != ERESTART) {
 			m_freem(*mp);
-			*mp = (struct mbuf *)0;
+			*mp = NULL;
 			if (error != EPIPE)
 				log(LOG_INFO,
 				    "receive error %d from nfs server %s\n",
@@ -646,7 +644,7 @@
 		if ((so = rep->r_nmp->nm_so) == NULL)
 			return (EACCES);
 		if (so->so_state & SS_ISCONNECTED)
-			getnam = (struct sockaddr **)0;
+			getnam = NULL;
 		else
 			getnam = aname;
 		auio.uio_resid = len = 1000000;
@@ -655,7 +653,7 @@
 			rcvflg = 0;
 			error =  so->so_proto->pr_usrreqs->pru_soreceive
 				(so, getnam, &auio, mp,
-				(struct mbuf **)0, &rcvflg);
+				NULL, &rcvflg);
 			if (error == EWOULDBLOCK &&
 			    (rep->r_flags & R_SOFTTERM))
 				return (EINTR);
@@ -664,7 +662,7 @@
 	}
 	if (error) {
 		m_freem(*mp);
-		*mp = (struct mbuf *)0;
+		*mp = NULL;
 	}
 	/*
 	 * Search for any mbufs that are not a multiple of 4 bytes long
@@ -1130,11 +1128,11 @@
 		   (m = m_copym(rep->r_mreq, 0, M_COPYALL, M_DONTWAIT))){
 			if ((nmp->nm_flag & NFSMNT_NOCONN) == 0)
 			    error = (*so->so_proto->pr_usrreqs->pru_send)
-				    (so, 0, m, (struct sockaddr *)0,
-				     (struct mbuf *)0, td);
+				    (so, 0, m, NULL,
+				     NULL, td);
 			else
 			    error = (*so->so_proto->pr_usrreqs->pru_send)
-				    (so, 0, m, nmp->nm_nam, (struct mbuf *)0,
+				    (so, 0, m, nmp->nm_nam, NULL,
 				     td);
 			if (error) {
 				if (NFSIGNORE_SOERROR(nmp->nm_soflags, error))
@@ -1162,7 +1160,7 @@
 		}
 	}
 	splx(s);
-	nfs_timer_handle = timeout(nfs_timer, (void *)0, nfs_ticks);
+	nfs_timer_handle = timeout(nfs_timer, NULL, nfs_ticks);
 }
 
 /*
@@ -1265,7 +1263,7 @@
 		if (rep->r_nmp->nm_flag & NFSMNT_INT)
 			slpflag = PCATCH;
 	} else
-		td = (struct thread *)0;
+		td = NULL;
 	while (*statep & NFSSTA_SNDLOCK) {
 		if (nfs_sigintr(rep->r_nmp, rep, td))
 			return (EINTR);
Index: sys/nfsclient/nfs_subs.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_subs.c,v
retrieving revision 1.112
diff -u -r1.112 nfs_subs.c
--- sys/nfsclient/nfs_subs.c	2002/03/20 10:07:52	1.112
+++ sys/nfsclient/nfs_subs.c	2002/07/08 22:24:26
@@ -233,7 +233,7 @@
 	*tl = 0;
 	mb->m_next = mrest;
 	mreq->m_pkthdr.len = authsiz + 10 * NFSX_UNSIGNED + mrest_len;
-	mreq->m_pkthdr.rcvif = (struct ifnet *)0;
+	mreq->m_pkthdr.rcvif = NULL;
 	*mbp = mb;
 	return (mreq);
 }
@@ -406,8 +406,8 @@
 		nfs_ticks = 1;
 	/* Ensure async daemons disabled */
 	for (i = 0; i < NFS_MAXASYNCDAEMON; i++) {
-		nfs_iodwant[i] = (struct proc *)0;
-		nfs_iodmount[i] = (struct nfsmount *)0;
+		nfs_iodwant[i] = NULL;
+		nfs_iodmount[i] = NULL;
 	}
 	nfs_nhinit();			/* Init the nfsnode table */
 
@@ -719,14 +719,14 @@
 			dp->ndm_eocookie = 0;
 			LIST_INSERT_HEAD(&np->n_cookies, dp, ndm_list);
 		} else
-			return ((nfsuint64 *)0);
+			return (NULL);
 	}
 	while (pos >= NFSNUMCOOKIES) {
 		pos -= NFSNUMCOOKIES;
 		if (LIST_NEXT(dp, ndm_list)) {
 			if (!add && dp->ndm_eocookie < NFSNUMCOOKIES &&
 				pos >= dp->ndm_eocookie)
-				return ((nfsuint64 *)0);
+				return (NULL);
 			dp = LIST_NEXT(dp, ndm_list);
 		} else if (add) {
 			MALLOC(dp2, struct nfsdmap *, sizeof (struct nfsdmap),
@@ -735,13 +735,13 @@
 			LIST_INSERT_AFTER(dp, dp2, ndm_list);
 			dp = dp2;
 		} else
-			return ((nfsuint64 *)0);
+			return (NULL);
 	}
 	if (pos >= dp->ndm_eocookie) {
 		if (add)
 			dp->ndm_eocookie = pos + 1;
 		else
-			return ((nfsuint64 *)0);
+			return (NULL);
 	}
 	return (&dp->ndm_cookies[pos]);
 }
@@ -848,7 +848,7 @@
 	}
 	if (*f) {
 		ttvp = *v;
-		t1 = nfs_loadattrcache(&ttvp, md, dpos, (struct vattr *)0, 0);
+		t1 = nfs_loadattrcache(&ttvp, md, dpos, NULL, 0);
 		if (t1)
 			return t1;
 		*v = ttvp;
@@ -905,7 +905,7 @@
 		return EBADRPC;
 	*f = fxdr_unsigned(int, *tl);
 	if (*f != 0) {
-		t1 = nfs_loadattrcache(&ttvp, md, dpos, (struct vattr *)0, 1);
+		t1 = nfs_loadattrcache(&ttvp, md, dpos, NULL, 1);
 		if (t1 != 0) {
 			*f = 0;
 			return t1;
Index: sys/nfsclient/nfs_vfsops.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_vfsops.c,v
retrieving revision 1.118
diff -u -r1.118 nfs_vfsops.c
--- sys/nfsclient/nfs_vfsops.c	2002/05/16 21:28:20	1.118
+++ sys/nfsclient/nfs_vfsops.c	2002/07/08 22:24:29
@@ -246,7 +246,7 @@
 	u_quad_t tquad;
 
 #ifndef nolint
-	sfp = (struct nfs_statfs *)0;
+	sfp = NULL;
 #endif
 	error = nfs_nget(mp, (nfsfh_t *)nmp->nm_fh, nmp->nm_fhsize, &np);
 	if (error)
@@ -452,7 +452,7 @@
 		error = rtrequest(RTM_ADD, (struct sockaddr *)&sin,
 		    (struct sockaddr *)&nd->mygateway,
 		    (struct sockaddr *)&mask,
-		    RTF_UP | RTF_GATEWAY, (struct rtentry **)0);
+		    RTF_UP | RTF_GATEWAY, NULL);
 		if (error)
 			panic("nfs_mountroot: RTM_ADD: %d", error);
 	}
@@ -697,7 +697,7 @@
 	if (nmp->nm_so && adjsock) {
 		nfs_safedisconnect(nmp);
 		if (nmp->nm_sotype == SOCK_DGRAM)
-			while (nfs_connect(nmp, (struct nfsreq *)0)) {
+			while (nfs_connect(nmp, NULL)) {
 				printf("nfs_args: retrying connect\n");
 				(void) tsleep((caddr_t)&lbolt,
 					      PSOCK, "nfscon", 0);
@@ -850,7 +850,7 @@
 	 * the first request, in case the server is not responding.
 	 */
 	if (nmp->nm_sotype == SOCK_DGRAM &&
-		(error = nfs_connect(nmp, (struct nfsreq *)0)))
+		(error = nfs_connect(nmp, NULL)))
 		goto bad;
 
 	/*
Index: sys/nfsclient/nfs_vnops.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsclient/nfs_vnops.c,v
retrieving revision 1.183
diff -u -r1.183 nfs_vnops.c
--- sys/nfsclient/nfs_vnops.c	2002/06/28 21:53:08	1.183
+++ sys/nfsclient/nfs_vnops.c	2002/07/08 22:24:33
@@ -727,7 +727,7 @@
 	if (v3) {
 		nfsm_wcc_data(vp, wccflag);
 	} else
-		nfsm_loadattr(vp, (struct vattr *)0);
+		nfsm_loadattr(vp, NULL);
 	m_freem(mrep);
 nfsmout:
 	return (error);
@@ -865,7 +865,7 @@
 			nfsm_postop_attr(newvp, attrflag);
 			nfsm_postop_attr(dvp, attrflag);
 		} else
-			nfsm_loadattr(newvp, (struct vattr *)0);
+			nfsm_loadattr(newvp, NULL);
 		*vpp = newvp;
 		m_freem(mrep);
 		cnp->cn_flags |= SAVENAME;
@@ -912,7 +912,7 @@
 		nfsm_postop_attr(newvp, attrflag);
 		nfsm_postop_attr(dvp, attrflag);
 	} else
-		nfsm_loadattr(newvp, (struct vattr *)0);
+		nfsm_loadattr(newvp, NULL);
 	if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN))
 		cnp->cn_flags |= SAVENAME;
 	if ((cnp->cn_flags & MAKEENTRY) &&
@@ -1053,7 +1053,7 @@
 			tl = nfsm_dissect(u_int32_t *, 2 * NFSX_UNSIGNED);
 			eof = fxdr_unsigned(int, *(tl + 1));
 		} else
-			nfsm_loadattr(vp, (struct vattr *)0);
+			nfsm_loadattr(vp, NULL);
 		nfsm_strsiz(retlen, nmp->nm_rsize);
 		nfsm_mtouio(uiop, retlen);
 		m_freem(mrep);
@@ -1164,7 +1164,7 @@
 				}
 			}
 		} else
-		    nfsm_loadattr(vp, (struct vattr *)0);
+		    nfsm_loadattr(vp, NULL);
 		if (wccflag)
 		    VTONFS(vp)->n_mtime = VTONFS(vp)->n_vattr.va_mtime.tv_sec;
 		m_freem(mrep);
@@ -1192,8 +1192,8 @@
 {
 	struct nfsv2_sattr *sp;
 	u_int32_t *tl;
-	struct vnode *newvp = (struct vnode *)0;
-	struct nfsnode *np = (struct nfsnode *)0;
+	struct vnode *newvp = NULL;
+	struct nfsnode *np = NULL;
 	struct vattr vattr;
 	caddr_t bpos, dpos;
 	int error = 0, wccflag = NFSV3_WCCRATTR, gotvp = 0;
@@ -1242,7 +1242,7 @@
 		if (!gotvp) {
 			if (newvp) {
 				vput(newvp);
-				newvp = (struct vnode *)0;
+				newvp = NULL;
 			}
 			error = nfs_lookitup(dvp, cnp->cn_nameptr,
 			    cnp->cn_namelen, cnp->cn_cred, cnp->cn_thread, &np);
@@ -1292,8 +1292,8 @@
 	struct componentname *cnp = ap->a_cnp;
 	struct nfsv2_sattr *sp;
 	u_int32_t *tl;
-	struct nfsnode *np = (struct nfsnode *)0;
-	struct vnode *newvp = (struct vnode *)0;
+	struct nfsnode *np = NULL;
+	struct vnode *newvp = NULL;
 	caddr_t bpos, dpos;
 	int error = 0, wccflag = NFSV3_WCCRATTR, gotvp = 0, fmode = 0;
 	struct mbuf *mreq, *mrep, *md, *mb;
@@ -1350,7 +1350,7 @@
 		if (!gotvp) {
 			if (newvp) {
 				vput(newvp);
-				newvp = (struct vnode *)0;
+				newvp = NULL;
 			}
 			error = nfs_lookitup(dvp, cnp->cn_nameptr,
 			    cnp->cn_namelen, cnp->cn_cred, cnp->cn_thread, &np);
@@ -1466,7 +1466,7 @@
 {
 
 	return (nfs_removerpc(sp->s_dvp, sp->s_name, sp->s_namlen, sp->s_cred,
-		(struct thread *)0));
+		NULL));
 }
 
 /*
@@ -1694,7 +1694,7 @@
 	caddr_t bpos, dpos;
 	int slen, error = 0, wccflag = NFSV3_WCCRATTR, gotvp;
 	struct mbuf *mreq, *mrep, *md, *mb;
-	struct vnode *newvp = (struct vnode *)0;
+	struct vnode *newvp = NULL;
 	int v3 = NFS_ISV3(dvp);
 
 	nfsstats.rpccnt[NFSPROC_SYMLINK]++;
@@ -1784,8 +1784,8 @@
 	struct componentname *cnp = ap->a_cnp;
 	struct nfsv2_sattr *sp;
 	int len;
-	struct nfsnode *np = (struct nfsnode *)0;
-	struct vnode *newvp = (struct vnode *)0;
+	struct nfsnode *np = NULL;
+	struct vnode *newvp = NULL;
 	caddr_t bpos, dpos;
 	int error = 0, wccflag = NFSV3_WCCRATTR;
 	int gotvp = 0;
@@ -1832,7 +1832,7 @@
 	if (error == EEXIST || (!error && !gotvp)) {
 		if (newvp) {
 			vrele(newvp);
-			newvp = (struct vnode *)0;
+			newvp = NULL;
 		}
 		error = nfs_lookitup(dvp, cnp->cn_nameptr, len, cnp->cn_cred,
 			cnp->cn_thread, &np);
@@ -2138,7 +2138,7 @@
 	int attrflag, fhsize;
 
 #ifndef nolint
-	dp = (struct dirent *)0;
+	dp = NULL;
 #endif
 #ifndef DIAGNOSTIC
 	if (uiop->uio_iovcnt != 1 || (uiop->uio_offset & (DIRBLKSIZ - 1)) ||
@@ -2274,7 +2274,7 @@
 				dpos = dpossav1;
 				mdsav2 = md;
 				md = mdsav1;
-				nfsm_loadattr(newvp, (struct vattr *)0);
+				nfsm_loadattr(newvp, NULL);
 				dpos = dpossav2;
 				md = mdsav2;
 				dp->d_type =
@@ -2377,7 +2377,7 @@
 
 	/* Try lookitups until we get one that isn't there */
 	while (nfs_lookitup(dvp, sp->s_name, sp->s_namlen, sp->s_cred,
-		cnp->cn_thread, (struct nfsnode **)0) == 0) {
+		cnp->cn_thread, NULL) == 0) {
 		sp->s_name[4]++;
 		if (sp->s_name[4] > 'z') {
 			error = EINVAL;
@@ -2410,7 +2410,7 @@
 nfs_lookitup(struct vnode *dvp, const char *name, int len, struct ucred *cred,
     struct thread *td, struct nfsnode **npp)
 {
-	struct vnode *newvp = (struct vnode *)0;
+	struct vnode *newvp = NULL;
 	struct nfsnode *np, *dnp = VTONFS(dvp);
 	caddr_t bpos, dpos;
 	int error = 0, fhlen, attrflag;
@@ -2460,7 +2460,7 @@
 				return (ENOENT);
 			}
 		} else
-			nfsm_loadattr(newvp, (struct vattr *)0);
+			nfsm_loadattr(newvp, NULL);
 	}
 	m_freem(mrep);
 nfsmout:
@@ -2539,7 +2539,7 @@
 		panic("nfs physio");
 
 	if (bp->b_flags & B_ASYNC)
-		td = (struct thread *)0;
+		td = NULL;
 	else
 		td = curthread;	/* XXX */
 
@@ -2776,7 +2776,7 @@
 				panic("nfs_fsync: inconsistent lock");
 			if (error == ENOLCK)
 				goto loop;
-			if (nfs_sigintr(nmp, (struct nfsreq *)0, td)) {
+			if (nfs_sigintr(nmp, NULL, td)) {
 				error = EINTR;
 				goto done;
 			}
@@ -2812,7 +2812,7 @@
 			error = tsleep((caddr_t)&vp->v_numoutput,
 				slpflag | (PRIBIO + 1), "nfsfsync", slptimeo);
 			if (error) {
-			    if (nfs_sigintr(nmp, (struct nfsreq *)0, td)) {
+			    if (nfs_sigintr(nmp, NULL, td)) {
 				error = EINTR;
 				goto done;
 			    }
Index: sys/nfsserver/nfs_serv.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsserver/nfs_serv.c,v
retrieving revision 1.119
diff -u -r1.119 nfs_serv.c
--- sys/nfsserver/nfs_serv.c	2002/05/16 21:28:23	1.119
+++ sys/nfsserver/nfs_serv.c	2002/07/08 22:24:36
@@ -192,7 +192,7 @@
 	error = nfsrv_fhtovp(fhp, 1, &vp, cred, slp, nam, &rdonly, TRUE);
 	if (error) {
 		nfsm_reply(NFSX_UNSIGNED);
-		nfsm_srvpostop_attr(1, (struct vattr *)0);
+		nfsm_srvpostop_attr(1, NULL);
 		error = 0;
 		goto nfsmout;
 	}
@@ -648,7 +648,7 @@
 
 	nfsdbprintf(("%s %d\n", __FILE__, __LINE__));
 #ifndef nolint
-	mp = (struct mbuf *)0;
+	mp = NULL;
 #endif
 	mp3 = NULL;
 	fhp = &nfh.fh_generic;
@@ -681,12 +681,12 @@
 	uiop->uio_resid = len;
 	uiop->uio_rw = UIO_READ;
 	uiop->uio_segflg = UIO_SYSSPACE;
-	uiop->uio_td = (struct thread *)0;
+	uiop->uio_td = NULL;
 	error = nfsrv_fhtovp(fhp, 1, &vp, cred, slp, nam, &rdonly, TRUE);
 	if (error) {
 		nfsm_reply(2 * NFSX_UNSIGNED);
 		if (v3)
-			nfsm_srvpostop_attr(1, (struct vattr *)0);
+			nfsm_srvpostop_attr(1, NULL);
 		error = 0;
 		goto nfsmout;
 	}
@@ -780,7 +780,7 @@
 		vp = NULL;
 		nfsm_reply(2 * NFSX_UNSIGNED);
 		if (v3)
-			nfsm_srvpostop_attr(1, (struct vattr *)0);
+			nfsm_srvpostop_attr(1, NULL);
 		error = 0;
 		goto nfsmout;
 	}
@@ -1136,7 +1136,7 @@
 	    uiop->uio_resid = len;
 	    uiop->uio_rw = UIO_WRITE;
 	    uiop->uio_segflg = UIO_SYSSPACE;
-	    uiop->uio_td = (struct thread *)0;
+	    uiop->uio_td = NULL;
 	    uiop->uio_offset = off;
 	    error = VOP_WRITE(vp, uiop, ioflags, cred);
 	    nfsrvstats.srvvop_writes++;
@@ -1391,7 +1391,7 @@
 		    ioflags = (IO_METASYNC | IO_SYNC | IO_NODELOCKED);
 		uiop->uio_rw = UIO_WRITE;
 		uiop->uio_segflg = UIO_SYSSPACE;
-		uiop->uio_td = (struct thread *)0;
+		uiop->uio_td = NULL;
 		uiop->uio_offset = nfsd->nd_off;
 		uiop->uio_resid = nfsd->nd_eoff - nfsd->nd_off;
 		if (uiop->uio_resid > 0) {
@@ -1588,7 +1588,7 @@
 	int v3 = (nfsd->nd_flag & ND_NFSV3), how, exclusive_flag = 0;
 	caddr_t cp;
 	struct mbuf *mb, *mreq;
-	struct vnode *dirp = (struct vnode *)0;
+	struct vnode *dirp = NULL;
 	nfsfh_t nfh;
 	fhandle_t *fhp;
 	u_quad_t tempsize;
@@ -1869,7 +1869,7 @@
 	u_int32_t major, minor;
 	enum vtype vtyp;
 	struct mbuf *mb, *mreq;
-	struct vnode *vp, *dirp = (struct vnode *)0;
+	struct vnode *vp, *dirp = NULL;
 	nfsfh_t nfh;
 	fhandle_t *fhp;
 	struct mount *mp = NULL;
@@ -2155,8 +2155,8 @@
 	int v3 = (nfsd->nd_flag & ND_NFSV3);
 	struct mbuf *mb, *mreq;
 	struct nameidata fromnd, tond;
-	struct vnode *fvp, *tvp, *tdvp, *fdirp = (struct vnode *)0;
-	struct vnode *tdirp = (struct vnode *)0;
+	struct vnode *fvp, *tvp, *tdvp, *fdirp = NULL;
+	struct vnode *tdirp = NULL;
 	struct vattr fdirfor, fdiraft, tdirfor, tdiraft;
 	nfsfh_t fnfh, tnfh;
 	fhandle_t *ffhp, *tfhp;
@@ -2166,7 +2166,7 @@
 
 	nfsdbprintf(("%s %d\n", __FILE__, __LINE__));
 #ifndef nolint
-	fvp = (struct vnode *)0;
+	fvp = NULL;
 #endif
 	ffhp = &fnfh.fh_generic;
 	tfhp = &tnfh.fh_generic;
@@ -2381,7 +2381,7 @@
 	int error = 0, rdonly, len, dirfor_ret = 1, diraft_ret = 1;
 	int getret = 1, v3 = (nfsd->nd_flag & ND_NFSV3);
 	struct mbuf *mb, *mreq;
-	struct vnode *vp = NULL, *xp, *dirp = (struct vnode *)0;
+	struct vnode *vp = NULL, *xp, *dirp = NULL;
 	struct vattr dirfor, diraft, at;
 	nfsfh_t nfh, dnfh;
 	fhandle_t *fhp, *dfhp;
@@ -2501,13 +2501,13 @@
 	struct nameidata nd;
 	struct vattr *vap = &va;
 	struct nfsv2_sattr *sp;
-	char *bpos, *pathcp = (char *)0;
+	char *bpos, *pathcp = NULL;
 	struct uio io;
 	struct iovec iv;
 	int error = 0, len, len2, dirfor_ret = 1, diraft_ret = 1;
 	int v3 = (nfsd->nd_flag & ND_NFSV3);
 	struct mbuf *mb, *mreq;
-	struct vnode *dirp = (struct vnode *)0;
+	struct vnode *dirp = NULL;
 	nfsfh_t nfh;
 	fhandle_t *fhp;
 	struct mount *mp = NULL;
@@ -2560,7 +2560,7 @@
 	io.uio_iovcnt = 1;
 	io.uio_segflg = UIO_SYSSPACE;
 	io.uio_rw = UIO_READ;
-	io.uio_td = (struct thread *)0;
+	io.uio_td = NULL;
 	nfsm_mtouio(&io, len2);
 	if (!v3) {
 		sp = nfsm_dissect(struct nfsv2_sattr *, NFSX_V2SATTR);
@@ -2831,7 +2831,7 @@
 	int error = 0, len, dirfor_ret = 1, diraft_ret = 1;
 	int v3 = (nfsd->nd_flag & ND_NFSV3);
 	struct mbuf *mb, *mreq;
-	struct vnode *vp, *dirp = (struct vnode *)0;
+	struct vnode *vp, *dirp = NULL;
 	struct vattr dirfor, diraft;
 	nfsfh_t nfh;
 	fhandle_t *fhp;
@@ -3070,7 +3070,7 @@
 	io.uio_resid = fullsiz;
 	io.uio_segflg = UIO_SYSSPACE;
 	io.uio_rw = UIO_READ;
-	io.uio_td = (struct thread *)0;
+	io.uio_td = NULL;
 	eofflag = 0;
 	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
 	if (cookies) {
@@ -3348,7 +3348,7 @@
 	io.uio_resid = fullsiz;
 	io.uio_segflg = UIO_SYSSPACE;
 	io.uio_rw = UIO_READ;
-	io.uio_td = (struct thread *)0;
+	io.uio_td = NULL;
 	eofflag = 0;
 	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
 	if (cookies) {
Index: sys/nfsserver/nfs_srvsock.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsserver/nfs_srvsock.c,v
retrieving revision 1.75
diff -u -r1.75 nfs_srvsock.c
--- sys/nfsserver/nfs_srvsock.c	2002/05/31 11:52:35	1.75
+++ sys/nfsserver/nfs_srvsock.c	2002/07/08 22:24:37
@@ -437,8 +437,8 @@
 		auio.uio_resid = 1000000000;
 		flags = MSG_DONTWAIT;
 		error = so->so_proto->pr_usrreqs->pru_soreceive
-			(so, &nam, &auio, &mp, (struct mbuf **)0, &flags);
-		if (error || mp == (struct mbuf *)0) {
+			(so, &nam, &auio, &mp, NULL, &flags);
+		if (error || mp == NULL) {
 			if (error == EWOULDBLOCK)
 				slp->ns_flag |= SLP_NEEDQ;
 			else
@@ -473,7 +473,7 @@
 			flags = MSG_DONTWAIT;
 			error = so->so_proto->pr_usrreqs->pru_soreceive
 				(so, &nam, &auio, &mp,
-						(struct mbuf **)0, &flags);
+						NULL, &flags);
 			if (mp) {
 				struct nfsrv_rec *rec;
 				rec = malloc(sizeof(struct nfsrv_rec),
@@ -568,12 +568,12 @@
 	     */
 	    if (slp->ns_cc == slp->ns_reclen) {
 		recm = slp->ns_raw;
-		slp->ns_raw = slp->ns_rawend = (struct mbuf *)0;
+		slp->ns_raw = slp->ns_rawend = NULL;
 		slp->ns_cc = slp->ns_reclen = 0;
 	    } else if (slp->ns_cc > slp->ns_reclen) {
 		len = 0;
 		m = slp->ns_raw;
-		om = (struct mbuf *)0;
+		om = NULL;
 		while (len < slp->ns_reclen) {
 			if ((len + m->m_len) > slp->ns_reclen) {
 				m2 = m_copym(m, 0, slp->ns_reclen - len,
@@ -596,7 +596,7 @@
 				len += m->m_len;
 				m = m->m_next;
 				recm = slp->ns_raw;
-				om->m_next = (struct mbuf *)0;
+				om->m_next = NULL;
 			} else {
 				om = m;
 				len += m->m_len;
@@ -625,11 +625,11 @@
 		    m_freem(slp->ns_frag);
 		} else {
 		    nfs_realign(&slp->ns_frag, 10 * NFSX_UNSIGNED);
-		    rec->nr_address = (struct sockaddr *)0;
+		    rec->nr_address = NULL;
 		    rec->nr_packet = slp->ns_frag;
 		    STAILQ_INSERT_TAIL(&slp->ns_rec, rec, nr_link);
 		}
-		slp->ns_frag = (struct mbuf *)0;
+		slp->ns_frag = NULL;
 	    }
 	}
 }
@@ -715,7 +715,7 @@
 
 	soflags = so->so_proto->pr_flags;
 	if ((soflags & PR_CONNREQUIRED) || (so->so_state & SS_ISCONNECTED))
-		sendnam = (struct sockaddr *)0;
+		sendnam = NULL;
 	else
 		sendnam = nam;
 	if (so->so_type == SOCK_SEQPACKET)
@@ -763,5 +763,5 @@
 			nfsrv_wakenfsd(slp);
 	}
 	splx(s);
-	nfsrv_timer_handle = timeout(nfsrv_timer, (void *)0, nfsrv_ticks);
+	nfsrv_timer_handle = timeout(nfsrv_timer, NULL, nfsrv_ticks);
 }
Index: sys/nfsserver/nfs_srvsubs.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsserver/nfs_srvsubs.c,v
retrieving revision 1.113
diff -u -r1.113 nfs_srvsubs.c
--- sys/nfsserver/nfs_srvsubs.c	2002/03/20 10:07:52	1.113
+++ sys/nfsserver/nfs_srvsubs.c	2002/07/08 22:24:38
@@ -604,7 +604,7 @@
 	int error, rdonly, linklen;
 	struct componentname *cnp = &ndp->ni_cnd;
 
-	*retdirp = (struct vnode *)0;
+	*retdirp = NULL;
 	cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK);
 
 	/*
@@ -789,7 +789,7 @@
 		auio.uio_offset = 0;
 		auio.uio_rw = UIO_READ;
 		auio.uio_segflg = UIO_SYSSPACE;
-		auio.uio_td = (struct thread *)0;
+		auio.uio_td = NULL;
 		auio.uio_resid = MAXPATHLEN;
 		error = VOP_READLINK(ndp->ni_vp, &auio, cnp->cn_cred);
 		if (error) {
@@ -881,7 +881,7 @@
 	m = mp;
 	for (;;) {
 		count += m->m_len;
-		if (m->m_next == (struct mbuf *)0)
+		if (m->m_next == NULL)
 			break;
 		m = m->m_next;
 	}
@@ -1031,7 +1031,7 @@
 	struct sockaddr_int *saddr;
 #endif
 
-	*vpp = (struct vnode *)0;
+	*vpp = NULL;
 
 	if (nfs_ispublicfh(fhp)) {
 		if (!pubflag || !nfs_pub.np_valid)
Index: sys/nfsserver/nfs_syscalls.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsserver/nfs_syscalls.c,v
retrieving revision 1.75
diff -u -r1.75 nfs_syscalls.c
--- sys/nfsserver/nfs_syscalls.c	2002/04/01 21:31:08	1.75
+++ sys/nfsserver/nfs_syscalls.c	2002/07/08 22:24:39
@@ -150,7 +150,7 @@
 		 * Get the client address for connected sockets.
 		 */
 		if (nfsdarg.name == NULL || nfsdarg.namelen == 0)
-			nam = (struct sockaddr *)0;
+			nam = NULL;
 		else {
 			error = getsockaddr(&nam, nfsdarg.name,
 					    nfsdarg.namelen);
@@ -189,7 +189,7 @@
 
 	so = (struct socket *)fp->f_data;
 #if 0
-	tslp = (struct nfssvc_sock *)0;
+	tslp = NULL;
 	/*
 	 * Add it to the list, as required.
 	 */
@@ -288,7 +288,7 @@
 	cacherep = RC_DOIT;
 	writes_todo = 0;
 #endif
-	if (nfsd == (struct nfsd *)0) {
+	if (nfsd == NULL) {
 		nsd->nsd_nfsd = nfsd = (struct nfsd *)
 			malloc(sizeof (struct nfsd), M_NFSD, M_WAITOK | M_ZERO);
 		s = splnet();
@@ -303,7 +303,7 @@
 	 */
 	for (;;) {
 		if ((nfsd->nfsd_flag & NFSD_REQINPROG) == 0) {
-			while (nfsd->nfsd_slp == (struct nfssvc_sock *)0 &&
+			while (nfsd->nfsd_slp == NULL &&
 			    (nfsd_head_flag & NFSD_CHECKSLP) == 0) {
 				nfsd->nfsd_flag |= NFSD_WAITING;
 				nfsd_waiting++;
@@ -313,7 +313,7 @@
 				if (error)
 					goto done;
 			}
-			if (nfsd->nfsd_slp == (struct nfssvc_sock *)0 &&
+			if (nfsd->nfsd_slp == NULL &&
 			    (nfsd_head_flag & NFSD_CHECKSLP) != 0) {
 				TAILQ_FOREACH(slp, &nfssvc_sockhead, ns_chain) {
 				    if ((slp->ns_flag & (SLP_VALID | SLP_DOREC))
@@ -327,7 +327,7 @@
 				if (slp == 0)
 					nfsd_head_flag &= ~NFSD_CHECKSLP;
 			}
-			if ((slp = nfsd->nfsd_slp) == (struct nfssvc_sock *)0)
+			if ((slp = nfsd->nfsd_slp) == NULL)
 				continue;
 			if (slp->ns_flag & SLP_VALID) {
 				if (slp->ns_flag & SLP_DISCONN)
@@ -359,7 +359,7 @@
 				free((caddr_t)nd, M_NFSRVDESC);
 				nd = NULL;
 			}
-			nfsd->nfsd_slp = (struct nfssvc_sock *)0;
+			nfsd->nfsd_slp = NULL;
 			nfsd->nfsd_flag &= ~NFSD_REQINPROG;
 			nfsrv_slpderef(slp);
 			continue;
@@ -427,7 +427,7 @@
 			}
 			nfsrvstats.srvrpccnt[nd->nd_procnum]++;
 			nfsrv_updatecache(nd, TRUE, mreq);
-			nd->nd_mrep = (struct mbuf *)0;
+			nd->nd_mrep = NULL;
 		    case RC_REPLY:
 			m = mreq;
 			siz = 0;
@@ -441,7 +441,7 @@
 			}
 			m = mreq;
 			m->m_pkthdr.len = siz;
-			m->m_pkthdr.rcvif = (struct ifnet *)0;
+			m->m_pkthdr.rcvif = NULL;
 			/*
 			 * For stream protocols, prepend a Sun RPC
 			 * Record Mark.
@@ -509,7 +509,7 @@
 	TAILQ_REMOVE(&nfsd_head, nfsd, nfsd_chain);
 	splx(s);
 	free((caddr_t)nfsd, M_NFSD);
-	nsd->nsd_nfsd = (struct nfsd *)0;
+	nsd->nsd_nfsd = NULL;
 	if (--nfs_numnfsd == 0)
 		nfsrv_init(TRUE);	/* Reinitialize everything */
 	return (error);
@@ -534,13 +534,13 @@
 	slp->ns_flag &= ~SLP_ALLFLAGS;
 	fp = slp->ns_fp;
 	if (fp) {
-		slp->ns_fp = (struct file *)0;
+		slp->ns_fp = NULL;
 		so = slp->ns_so;
 		so->so_rcv.sb_flags &= ~SB_UPCALL;
 		so->so_upcall = NULL;
 		so->so_upcallarg = NULL;
 		soshutdown(so, 2);
-		closef(fp, (struct thread *)0);
+		closef(fp, NULL);
 		if (slp->ns_nam)
 			FREE(slp->ns_nam, M_SONAME);
 		m_freem(slp->ns_raw);
--- nfsnull.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207082236.g68MaSgj048656>