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>
index | next in thread | raw e-mail
>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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207082236.g68MaSgj048656>
