summaryrefslogtreecommitdiffstats
path: root/sys/miscfs
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1997-08-16 19:16:27 +0000
committerwollman <wollman@FreeBSD.org>1997-08-16 19:16:27 +0000
commit4542c1cf5d7077caf33d6d9468f5e647cd9d19e5 (patch)
tree69fd093ef1e8c080592999507b664fe6315c0e10 /sys/miscfs
parentf4edc7fc6748272644fb845fc8636a5c261247d6 (diff)
downloadFreeBSD-src-4542c1cf5d7077caf33d6d9468f5e647cd9d19e5.zip
FreeBSD-src-4542c1cf5d7077caf33d6d9468f5e647cd9d19e5.tar.gz
Fix all areas of the system (or at least all those in LINT) to avoid storing
socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family.
Diffstat (limited to 'sys/miscfs')
-rw-r--r--sys/miscfs/devfs/devfs_vfsops.c4
-rw-r--r--sys/miscfs/fdesc/fdesc_vfsops.c4
-rw-r--r--sys/miscfs/fifofs/fifo_vnops.c7
-rw-r--r--sys/miscfs/kernfs/kernfs.h4
-rw-r--r--sys/miscfs/nullfs/null_vfsops.c9
-rw-r--r--sys/miscfs/portal/portal_vfsops.c4
-rw-r--r--sys/miscfs/portal/portal_vnops.c13
-rw-r--r--sys/miscfs/procfs/procfs_vfsops.c4
-rw-r--r--sys/miscfs/umapfs/umap_vfsops.c6
-rw-r--r--sys/miscfs/union/union_vfsops.c4
10 files changed, 30 insertions, 29 deletions
diff --git a/sys/miscfs/devfs/devfs_vfsops.c b/sys/miscfs/devfs/devfs_vfsops.c
index 06e0501..163cf85 100644
--- a/sys/miscfs/devfs/devfs_vfsops.c
+++ b/sys/miscfs/devfs/devfs_vfsops.c
@@ -1,7 +1,7 @@
/*
* Written by Julian Elischer (julian@DIALix.oz.au)
*
- * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vfsops.c,v 1.18 1997/07/14 04:30:22 julian Exp $
+ * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vfsops.c,v 1.19 1997/08/02 14:31:55 bde Exp $
*
*
*/
@@ -284,7 +284,7 @@ DBPRINT(("vget "));
*/
static int
-devfs_fhtovp (struct mount *mp, struct fid *fhp, struct mbuf *nam,
+devfs_fhtovp (struct mount *mp, struct fid *fhp, struct sockaddr *nam,
struct vnode **vpp, int *exflagsp, struct ucred **credanonp)
{
DBPRINT(("fhtovp "));
diff --git a/sys/miscfs/fdesc/fdesc_vfsops.c b/sys/miscfs/fdesc/fdesc_vfsops.c
index ea668c9..e80c69d 100644
--- a/sys/miscfs/fdesc/fdesc_vfsops.c
+++ b/sys/miscfs/fdesc/fdesc_vfsops.c
@@ -35,7 +35,7 @@
*
* @(#)fdesc_vfsops.c 8.4 (Berkeley) 1/21/94
*
- * $Id: fdesc_vfsops.c,v 1.10 1997/02/22 09:40:15 peter Exp $
+ * $Id: fdesc_vfsops.c,v 1.11 1997/08/02 14:31:59 bde Exp $
*/
/*
@@ -244,7 +244,7 @@ fdesc_sync(mp, waitfor, cred, p)
}
#define fdesc_fhtovp ((int (*) __P((struct mount *, struct fid *, \
- struct mbuf *, struct vnode **, int *, struct ucred **)))eopnotsupp)
+ struct sockaddr *, struct vnode **, int *, struct ucred **)))eopnotsupp)
#define fdesc_quotactl ((int (*) __P((struct mount *, int, uid_t, caddr_t, \
struct proc *)))eopnotsupp)
#define fdesc_sysctl ((int (*) __P((int *, u_int, void *, size_t *, void *, \
diff --git a/sys/miscfs/fifofs/fifo_vnops.c b/sys/miscfs/fifofs/fifo_vnops.c
index 1cdc3d7..ce23c6e 100644
--- a/sys/miscfs/fifofs/fifo_vnops.c
+++ b/sys/miscfs/fifofs/fifo_vnops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
- * $Id: fifo_vnops.c,v 1.23 1997/03/23 03:36:49 bde Exp $
+ * $Id: fifo_vnops.c,v 1.24 1997/03/24 11:37:53 bde Exp $
*/
#include <sys/param.h>
@@ -264,7 +264,7 @@ fifo_read(ap)
rso->so_state |= SS_NBIO;
startresid = uio->uio_resid;
VOP_UNLOCK(ap->a_vp, 0, p);
- error = soreceive(rso, (struct mbuf **)0, uio, (struct mbuf **)0,
+ error = soreceive(rso, (struct sockaddr **)0, uio, (struct mbuf **)0,
(struct mbuf **)0, (int *)0);
vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, p);
/*
@@ -301,7 +301,8 @@ fifo_write(ap)
if (ap->a_ioflag & IO_NDELAY)
wso->so_state |= SS_NBIO;
VOP_UNLOCK(ap->a_vp, 0, p);
- error = sosend(wso, (struct mbuf *)0, ap->a_uio, 0, (struct mbuf *)0, 0);
+ error = sosend(wso, (struct sockaddr *)0, ap->a_uio, 0,
+ (struct mbuf *)0, 0, p);
vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, p);
if (ap->a_ioflag & IO_NDELAY)
wso->so_state &= ~SS_NBIO;
diff --git a/sys/miscfs/kernfs/kernfs.h b/sys/miscfs/kernfs/kernfs.h
index 94d46af..aa98050 100644
--- a/sys/miscfs/kernfs/kernfs.h
+++ b/sys/miscfs/kernfs/kernfs.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)kernfs.h 8.6 (Berkeley) 3/29/95
- * $Id$
+ * $Id: kernfs.h,v 1.6 1997/02/22 09:40:18 peter Exp $
*/
#define _PATH_KERNFS "/kern" /* Default mountpoint */
@@ -52,7 +52,7 @@ struct kernfs_node {
#define VTOKERN(vp) ((struct kernfs_node *)(vp)->v_data)
#define kernfs_fhtovp ((int (*) __P((struct mount *, struct fid *, \
- struct mbuf *, struct vnode **, int *, struct ucred **)))eopnotsupp)
+ struct sockaddr *, struct vnode **, int *, struct ucred **)))eopnotsupp)
#define kernfs_quotactl ((int (*) __P((struct mount *, int, uid_t, caddr_t, \
struct proc *)))eopnotsupp)
#define kernfs_sync ((int (*) __P((struct mount *, int, struct ucred *, \
diff --git a/sys/miscfs/nullfs/null_vfsops.c b/sys/miscfs/nullfs/null_vfsops.c
index 40e2a19..ea5711f 100644
--- a/sys/miscfs/nullfs/null_vfsops.c
+++ b/sys/miscfs/nullfs/null_vfsops.c
@@ -36,7 +36,7 @@
* @(#)null_vfsops.c 8.2 (Berkeley) 1/21/94
*
* @(#)lofs_vfsops.c 1.2 (Berkeley) 6/18/92
- * $Id: null_vfsops.c,v 1.17 1997/04/19 06:03:30 kato Exp $
+ * $Id: null_vfsops.c,v 1.18 1997/08/02 14:32:05 bde Exp $
*/
/*
@@ -55,7 +55,7 @@
#include <miscfs/nullfs/null.h>
static int nullfs_fhtovp __P((struct mount *mp, struct fid *fidp,
- struct mbuf *nam, struct vnode **vpp,
+ struct sockaddr *nam, struct vnode **vpp,
int *exflagsp, struct ucred **credanonp));
static int nullfs_mount __P((struct mount *mp, char *path, caddr_t data,
struct nameidata *ndp, struct proc *p));
@@ -387,13 +387,14 @@ static int
nullfs_fhtovp(mp, fidp, nam, vpp, exflagsp, credanonp)
struct mount *mp;
struct fid *fidp;
- struct mbuf *nam;
+ struct sockaddr *nam;
struct vnode **vpp;
int *exflagsp;
struct ucred**credanonp;
{
- return VFS_FHTOVP(MOUNTTONULLMOUNT(mp)->nullm_vfs, fidp, nam, vpp, exflagsp,credanonp);
+ return VFS_FHTOVP(MOUNTTONULLMOUNT(mp)->nullm_vfs, fidp, nam,
+ vpp, exflagsp, credanonp);
}
static int
diff --git a/sys/miscfs/portal/portal_vfsops.c b/sys/miscfs/portal/portal_vfsops.c
index 7ab3be6..c70e73e 100644
--- a/sys/miscfs/portal/portal_vfsops.c
+++ b/sys/miscfs/portal/portal_vfsops.c
@@ -35,7 +35,7 @@
*
* @(#)portal_vfsops.c 8.11 (Berkeley) 5/14/95
*
- * $Id: portal_vfsops.c,v 1.15 1997/02/22 09:40:24 peter Exp $
+ * $Id: portal_vfsops.c,v 1.16 1997/08/02 14:32:07 bde Exp $
*/
/*
@@ -261,7 +261,7 @@ portal_statfs(mp, sbp, p)
}
#define portal_fhtovp ((int (*) __P((struct mount *, struct fid *, \
- struct mbuf *, struct vnode **, int *, struct ucred **)))eopnotsupp)
+ struct sockaddr *, struct vnode **, int *, struct ucred **)))eopnotsupp)
#define portal_quotactl ((int (*) __P((struct mount *, int, uid_t, caddr_t, \
struct proc *)))eopnotsupp)
#define portal_sync ((int (*) __P((struct mount *, int, struct ucred *, \
diff --git a/sys/miscfs/portal/portal_vnops.c b/sys/miscfs/portal/portal_vnops.c
index edd4217..281d563 100644
--- a/sys/miscfs/portal/portal_vnops.c
+++ b/sys/miscfs/portal/portal_vnops.c
@@ -35,7 +35,7 @@
*
* @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95
*
- * $Id: portal_vnops.c,v 1.18 1997/03/23 03:36:54 bde Exp $
+ * $Id: portal_vnops.c,v 1.19 1997/08/02 14:32:08 bde Exp $
*/
/*
@@ -197,11 +197,10 @@ portal_connect(so, so2)
unp2 = sotounpcb(so2);
unp3 = sotounpcb(so3);
if (unp2->unp_addr)
- unp3->unp_addr = m_copy(unp2->unp_addr, 0, (int)M_COPYALL);
-
+ unp3->unp_addr = (struct sockaddr_un *)
+ dup_sockaddr((struct sockaddr *)unp2->unp_addr, 0);
so2 = so3;
-
return (unp_connect2(so, so2));
}
@@ -326,8 +325,8 @@ portal_open(ap)
auio.uio_offset = 0;
auio.uio_resid = aiov[0].iov_len + aiov[1].iov_len;
- error = sosend(so, (struct mbuf *) 0, &auio,
- (struct mbuf *) 0, (struct mbuf *) 0, 0);
+ error = sosend(so, (struct sockaddr *) 0, &auio,
+ (struct mbuf *) 0, (struct mbuf *) 0, 0, p);
if (error)
goto bad;
@@ -335,7 +334,7 @@ portal_open(ap)
do {
struct mbuf *m = 0;
int flags = MSG_WAITALL;
- error = soreceive(so, (struct mbuf **) 0, &auio,
+ error = soreceive(so, (struct sockaddr **) 0, &auio,
&m, &cm, &flags);
if (error)
goto bad;
diff --git a/sys/miscfs/procfs/procfs_vfsops.c b/sys/miscfs/procfs/procfs_vfsops.c
index a6ebbae..3afd9e9 100644
--- a/sys/miscfs/procfs/procfs_vfsops.c
+++ b/sys/miscfs/procfs/procfs_vfsops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vfsops.c 8.7 (Berkeley) 5/10/95
*
- * $Id: procfs_vfsops.c,v 1.15 1997/02/22 09:40:31 peter Exp $
+ * $Id: procfs_vfsops.c,v 1.16 1997/08/02 14:32:19 bde Exp $
*/
/*
@@ -177,7 +177,7 @@ procfs_init(vfsp)
}
#define procfs_fhtovp ((int (*) __P((struct mount *, struct fid *, \
- struct mbuf *, struct vnode **, int *, struct ucred **)))einval)
+ struct sockaddr *, struct vnode **, int *, struct ucred **)))einval)
#define procfs_quotactl ((int (*) __P((struct mount *, int, uid_t, caddr_t, \
struct proc *)))eopnotsupp)
#define procfs_sync ((int (*) __P((struct mount *, int, struct ucred *, \
diff --git a/sys/miscfs/umapfs/umap_vfsops.c b/sys/miscfs/umapfs/umap_vfsops.c
index 3a73bd6..20c0c4c 100644
--- a/sys/miscfs/umapfs/umap_vfsops.c
+++ b/sys/miscfs/umapfs/umap_vfsops.c
@@ -35,7 +35,7 @@
*
* @(#)umap_vfsops.c 8.8 (Berkeley) 5/14/95
*
- * $Id: umap_vfsops.c,v 1.14 1997/02/22 09:40:38 peter Exp $
+ * $Id: umap_vfsops.c,v 1.15 1997/08/02 14:32:25 bde Exp $
*/
/*
@@ -54,7 +54,7 @@
#include <miscfs/umapfs/umap.h>
static int umapfs_fhtovp __P((struct mount *mp, struct fid *fidp,
- struct mbuf *nam, struct vnode **vpp,
+ struct sockaddr *nam, struct vnode **vpp,
int *exflagsp, struct ucred **credanonp));
static int umapfs_mount __P((struct mount *mp, char *path, caddr_t data,
struct nameidata *ndp, struct proc *p));
@@ -391,7 +391,7 @@ static int
umapfs_fhtovp(mp, fidp, nam, vpp, exflagsp, credanonp)
struct mount *mp;
struct fid *fidp;
- struct mbuf *nam;
+ struct sockaddr *nam;
struct vnode **vpp;
int *exflagsp;
struct ucred**credanonp;
diff --git a/sys/miscfs/union/union_vfsops.c b/sys/miscfs/union/union_vfsops.c
index 82edf91..e7954be 100644
--- a/sys/miscfs/union/union_vfsops.c
+++ b/sys/miscfs/union/union_vfsops.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* @(#)union_vfsops.c 8.20 (Berkeley) 5/20/95
- * $Id: union_vfsops.c,v 1.17 1997/05/07 14:37:31 kato Exp $
+ * $Id: union_vfsops.c,v 1.18 1997/08/02 14:32:29 bde Exp $
*/
/*
@@ -531,7 +531,7 @@ union_statfs(mp, sbp, p)
struct proc *)))nullop)
#define union_fhtovp ((int (*) __P((struct mount *, struct fid *, \
- struct mbuf *, struct vnode **, int *, struct ucred **)))eopnotsupp)
+ struct sockaddr *, struct vnode **, int *, struct ucred **)))eopnotsupp)
#define union_quotactl ((int (*) __P((struct mount *, int, uid_t, caddr_t, \
struct proc *)))eopnotsupp)
#define union_sysctl ((int (*) __P((int *, u_int, void *, size_t *, void *, \
OpenPOWER on IntegriCloud