diff options
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/bpf.c | 18 | ||||
-rw-r--r-- | sys/net/bpfdesc.h | 2 | ||||
-rw-r--r-- | sys/net/if.c | 24 | ||||
-rw-r--r-- | sys/net/if.h | 2 | ||||
-rw-r--r-- | sys/net/if_ppp.c | 5 | ||||
-rw-r--r-- | sys/net/if_pppvar.h | 2 | ||||
-rw-r--r-- | sys/net/if_sl.c | 14 | ||||
-rw-r--r-- | sys/net/if_tap.c | 22 | ||||
-rw-r--r-- | sys/net/if_tun.c | 17 | ||||
-rw-r--r-- | sys/net/if_var.h | 4 | ||||
-rw-r--r-- | sys/net/ppp_tty.c | 22 | ||||
-rw-r--r-- | sys/net/raw_cb.h | 12 | ||||
-rw-r--r-- | sys/net/raw_usrreq.c | 10 | ||||
-rw-r--r-- | sys/net/route.h | 1 | ||||
-rw-r--r-- | sys/net/rtsock.c | 14 |
15 files changed, 89 insertions, 80 deletions
diff --git a/sys/net/bpf.c b/sys/net/bpf.c index cd12323..874fcb6 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -313,11 +313,11 @@ bpf_detachd(d) */ /* ARGSUSED */ static int -bpfopen(dev, flags, fmt, p) +bpfopen(dev, flags, fmt, td) dev_t dev; int flags; int fmt; - struct proc *p; + struct thread *td; { struct bpf_d *d; @@ -353,11 +353,11 @@ bpfopen(dev, flags, fmt, p) */ /* ARGSUSED */ static int -bpfclose(dev, flags, fmt, p) +bpfclose(dev, flags, fmt, td) dev_t dev; int flags; int fmt; - struct proc *p; + struct thread *td; { struct bpf_d *d = dev->si_drv1; @@ -585,12 +585,12 @@ reset_d(d) */ /* ARGSUSED */ static int -bpfioctl(dev, cmd, addr, flags, p) +bpfioctl(dev, cmd, addr, flags, td) dev_t dev; u_long cmd; caddr_t addr; int flags; - struct proc *p; + struct thread *td; { struct bpf_d *d = dev->si_drv1; int error = 0; @@ -966,10 +966,10 @@ bpf_setif(d, ifr) * Otherwise, return false but make a note that a selwakeup() must be done. */ int -bpfpoll(dev, events, p) +bpfpoll(dev, events, td) register dev_t dev; int events; - struct proc *p; + struct thread *td; { struct bpf_d *d; int revents; @@ -990,7 +990,7 @@ bpfpoll(dev, events, p) if (d->bd_hlen != 0 || (d->bd_immediate && d->bd_slen != 0)) revents |= events & (POLLIN | POLLRDNORM); else - selrecord(p, &d->bd_sel); + selrecord(curthread, &d->bd_sel); } BPFD_UNLOCK(d); return (revents); diff --git a/sys/net/bpfdesc.h b/sys/net/bpfdesc.h index 9172c7f..7f61d70 100644 --- a/sys/net/bpfdesc.h +++ b/sys/net/bpfdesc.h @@ -84,7 +84,7 @@ struct bpf_d { #if BSD < 199103 u_char bd_selcoll; /* true if selects collide */ int bd_timedout; - struct proc * bd_selproc; /* process that last selected us */ + struct thread * bd_selthread; /* process that last selected us */ #else u_char bd_pad; /* explicit alignment */ struct selinfo bd_sel; /* bsd select info */ diff --git a/sys/net/if.c b/sys/net/if.c index 7ff94c7..c08d494 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -952,11 +952,11 @@ if_withname(sa) * Interface ioctls. */ int -ifioctl(so, cmd, data, p) +ifioctl(so, cmd, data, td) struct socket *so; u_long cmd; caddr_t data; - struct proc *p; + struct thread *td; { register struct ifnet *ifp; register struct ifreq *ifr; @@ -975,7 +975,7 @@ ifioctl(so, cmd, data, p) switch (cmd) { case SIOCIFCREATE: case SIOCIFDESTROY: - if ((error = suser(p)) != 0) + if ((error = suser_td(td)) != 0) return (error); return ((cmd == SIOCIFCREATE) ? if_clone_create(ifr->ifr_name, sizeof(ifr->ifr_name)) : @@ -1007,7 +1007,7 @@ ifioctl(so, cmd, data, p) break; case SIOCSIFFLAGS: - error = suser(p); + error = suser_td(td); if (error) return (error); ifr->ifr_prevflags = ifp->if_flags; @@ -1032,7 +1032,7 @@ ifioctl(so, cmd, data, p) break; case SIOCSIFMETRIC: - error = suser(p); + error = suser_td(td); if (error) return (error); ifp->if_metric = ifr->ifr_metric; @@ -1040,7 +1040,7 @@ ifioctl(so, cmd, data, p) break; case SIOCSIFPHYS: - error = suser(p); + error = suser_td(td); if (error) return error; if (!ifp->if_ioctl) @@ -1054,7 +1054,7 @@ ifioctl(so, cmd, data, p) { u_long oldmtu = ifp->if_mtu; - error = suser(p); + error = suser_td(td); if (error) return (error); if (ifp->if_ioctl == NULL) @@ -1079,7 +1079,7 @@ ifioctl(so, cmd, data, p) case SIOCADDMULTI: case SIOCDELMULTI: - error = suser(p); + error = suser_td(td); if (error) return (error); @@ -1109,7 +1109,7 @@ ifioctl(so, cmd, data, p) case SIOCSLIFPHYADDR: case SIOCSIFMEDIA: case SIOCSIFGENERIC: - error = suser(p); + error = suser_td(td); if (error) return (error); if (ifp->if_ioctl == 0) @@ -1133,7 +1133,7 @@ ifioctl(so, cmd, data, p) return ((*ifp->if_ioctl)(ifp, cmd, data)); case SIOCSIFLLADDR: - error = suser(p); + error = suser_td(td); if (error) return (error); return if_setlladdr(ifp, @@ -1146,7 +1146,7 @@ ifioctl(so, cmd, data, p) #ifndef COMPAT_43 error = ((*so->so_proto->pr_usrreqs->pru_control)(so, cmd, data, - ifp, p)); + ifp, td)); #else { int ocmd = cmd; @@ -1187,7 +1187,7 @@ ifioctl(so, cmd, data, p) error = ((*so->so_proto->pr_usrreqs->pru_control)(so, cmd, data, - ifp, p)); + ifp, td)); switch (ocmd) { case OSIOCGIFADDR: diff --git a/sys/net/if.h b/sys/net/if.h index 088c7ef..70428bf 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -297,7 +297,7 @@ __END_DECLS #endif #ifdef _KERNEL -struct proc; +struct thread; /* XXX - this should go away soon. */ #include <net/if_var.h> diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c index 86c541b..95b9684 100644 --- a/sys/net/if_ppp.c +++ b/sys/net/if_ppp.c @@ -338,13 +338,14 @@ pppdealloc(sc) * Ioctl routine for generic ppp devices. */ int -pppioctl(sc, cmd, data, flag, p) +pppioctl(sc, cmd, data, flag, td) struct ppp_softc *sc; u_long cmd; caddr_t data; int flag; - struct proc *p; + struct thread *td; { + struct proc *p = td->td_proc; int s, flags, mru, npx; u_int nb; int error = 0; diff --git a/sys/net/if_pppvar.h b/sys/net/if_pppvar.h index 77456f7..cc71846 100644 --- a/sys/net/if_pppvar.h +++ b/sys/net/if_pppvar.h @@ -103,7 +103,7 @@ extern struct ppp_softc ppp_softc[]; struct ppp_softc *pppalloc __P((pid_t pid)); void pppdealloc __P((struct ppp_softc *sc)); int pppioctl __P((struct ppp_softc *sc, u_long cmd, caddr_t data, - int flag, struct proc *p)); + int flag, struct thread *td)); int pppoutput __P((struct ifnet *ifp, struct mbuf *m0, struct sockaddr *dst, struct rtentry *rtp)); void ppp_restart __P((struct ppp_softc *sc)); diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c index b681a0b..35d67e2 100644 --- a/sys/net/if_sl.c +++ b/sys/net/if_sl.c @@ -72,6 +72,7 @@ #include <sys/systm.h> #include <sys/malloc.h> #include <sys/mbuf.h> +#include <sys/proc.h> #include <sys/dkstat.h> #include <sys/socket.h> #include <sys/sockio.h> @@ -178,10 +179,10 @@ static void sldestroy __P((struct sl_softc *sc)); static struct mbuf *sl_btom __P((struct sl_softc *, int)); static timeout_t sl_keepalive; static timeout_t sl_outfill; -static int slclose __P((struct tty *,int)); -static int slinput __P((int, struct tty *)); +static l_close_t slclose; +static l_rint_t slinput; +static l_ioctl_t sltioctl; static int slioctl __P((struct ifnet *, u_long, caddr_t)); -static int sltioctl __P((struct tty *, u_long, caddr_t, int, struct proc *)); static int slopen __P((dev_t, struct tty *)); static int sloutput __P((struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *)); @@ -336,11 +337,10 @@ slopen(dev, tp) dev_t dev; register struct tty *tp; { - struct proc *p = curproc; /* XXX */ register struct sl_softc *sc; int s, error; - error = suser(p); + error = suser_td(curthread); if (error) return (error); @@ -437,12 +437,12 @@ slclose(tp,flag) */ /* ARGSUSED */ static int -sltioctl(tp, cmd, data, flag, p) +sltioctl(tp, cmd, data, flag, td) struct tty *tp; u_long cmd; caddr_t data; int flag; - struct proc *p; + struct thread *td; { struct sl_softc *sc = (struct sl_softc *)tp->t_sc, *nc; int s, unit, wasup; diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c index 6e60b5b..f41fbd3 100644 --- a/sys/net/if_tap.c +++ b/sys/net/if_tap.c @@ -389,17 +389,17 @@ tapcreate(dev) * to open tunnel. must be superuser */ static int -tapopen(dev, flag, mode, p) +tapopen(dev, flag, mode, td) dev_t dev; int flag; int mode; - struct proc *p; + struct thread *td; { struct tap_softc *tp = NULL; int unit, error; struct resource *r = NULL; - if ((error = suser(p)) != 0) + if ((error = suser_td(td)) != 0) return (error); unit = dev2unit(dev) & TAPMAXUNIT; @@ -428,7 +428,7 @@ tapopen(dev, flag, mode, p) bcopy(tp->arpcom.ac_enaddr, tp->ether_addr, sizeof(tp->ether_addr)); tp->tap_unit = r; - tp->tap_pid = p->p_pid; + tp->tap_pid = td->td_proc->p_pid; tp->tap_flags |= TAP_OPEN; TAPDEBUG("%s%d is open. minor = %#x\n", @@ -444,11 +444,11 @@ tapopen(dev, flag, mode, p) * close the device - mark i/f down & delete routing info */ static int -tapclose(dev, foo, bar, p) +tapclose(dev, foo, bar, td) dev_t dev; int foo; int bar; - struct proc *p; + struct thread *td; { int s, error; struct tap_softc *tp = dev->si_drv1; @@ -643,12 +643,12 @@ tapifstart(ifp) * the cdevsw interface is now pretty minimal */ static int -tapioctl(dev, cmd, data, flag, p) +tapioctl(dev, cmd, data, flag, td) dev_t dev; u_long cmd; caddr_t data; int flag; - struct proc *p; + struct thread *td; { struct tap_softc *tp = dev->si_drv1; struct ifnet *ifp = &tp->tap_if; @@ -911,10 +911,10 @@ tapwrite(dev, uio, flag) * anyway, it either accepts the packet or drops it */ static int -tappoll(dev, events, p) +tappoll(dev, events, td) dev_t dev; int events; - struct proc *p; + struct thread *td; { struct tap_softc *tp = dev->si_drv1; struct ifnet *ifp = &tp->tap_if; @@ -935,7 +935,7 @@ tappoll(dev, events, p) TAPDEBUG("%s%d waiting for data, minor = %#x\n", ifp->if_name, ifp->if_unit, minor(dev)); - selrecord(p, &tp->tap_rsel); + selrecord(curthread, &tp->tap_rsel); } } diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index 1e6f19b..92bf7f6 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -259,7 +259,7 @@ tuncreate(dev_t dev) } static int -tunopen(dev_t dev, int flag, int mode, struct proc *p) +tunopen(dev_t dev, int flag, int mode, struct thread *td) { struct resource *r; struct ifnet *ifp; @@ -284,7 +284,7 @@ tunopen(dev_t dev, int flag, int mode, struct proc *p) } KASSERT(!(tp->tun_flags & TUN_OPEN), ("Resource & flags out-of-sync")); tp->r_unit = r; - tp->tun_pid = p->p_pid; + tp->tun_pid = td->td_proc->p_pid; ifp = &tp->tun_if; tp->tun_flags |= TUN_OPEN; TUNDEBUG("%s%d: open\n", ifp->if_name, ifp->if_unit); @@ -297,7 +297,7 @@ tunopen(dev_t dev, int flag, int mode, struct proc *p) * routing info */ static int -tunclose(dev_t dev, int foo, int bar, struct proc *p) +tunclose(dev_t dev, int foo, int bar, struct thread *td) { struct tun_softc *tp; struct ifnet *ifp; @@ -520,7 +520,7 @@ tunoutput( * the cdevsw interface is now pretty minimal. */ static int -tunioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p) +tunioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td) { int s; int error; @@ -532,7 +532,8 @@ tunioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p) tunp = (struct tuninfo *)data; if (tunp->mtu < IF_MINMTU) return (EINVAL); - if (tp->tun_if.if_mtu != tunp->mtu && (error = suser(p)) != 0) + if (tp->tun_if.if_mtu != tunp->mtu + && (error = suser_td(td)) != 0) return (error); tp->tun_if.if_mtu = tunp->mtu; tp->tun_if.if_type = tunp->type; @@ -584,7 +585,7 @@ tunioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p) } break; case TUNSIFPID: - tp->tun_pid = curproc->p_pid; + tp->tun_pid = curthread->td_proc->p_pid; break; case FIONBIO: break; @@ -790,7 +791,7 @@ tunwrite(dev_t dev, struct uio *uio, int flag) * anyway, it either accepts the packet or drops it. */ static int -tunpoll(dev_t dev, int events, struct proc *p) +tunpoll(dev_t dev, int events, struct thread *td) { int s; struct tun_softc *tp = dev->si_drv1; @@ -808,7 +809,7 @@ tunpoll(dev_t dev, int events, struct proc *p) } else { TUNDEBUG("%s%d: tunpoll waiting\n", ifp->if_name, ifp->if_unit); - selrecord(p, &tp->tun_rsel); + selrecord(curthread, &tp->tun_rsel); } } if (events & (POLLOUT | POLLWRNORM)) diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 5a4d92f..597eb64 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -67,7 +67,7 @@ * Forward structure declarations for function prototypes [sic]. */ struct mbuf; -struct proc; +struct thread; struct rtentry; struct socket; struct ether_header; @@ -410,7 +410,7 @@ int if_setlladdr __P((struct ifnet *, const u_char *, int)); void if_unroute __P((struct ifnet *, int flag, int fam)); void if_up __P((struct ifnet *)); /*void ifinit __P((void));*/ /* declared in systm.h for main() */ -int ifioctl __P((struct socket *, u_long, caddr_t, struct proc *)); +int ifioctl __P((struct socket *, u_long, caddr_t, struct thread *)); int ifpromisc __P((struct ifnet *, int)); struct ifnet *ifunit __P((const char *)); struct ifnet *if_withname __P((struct sockaddr *)); diff --git a/sys/net/ppp_tty.c b/sys/net/ppp_tty.c index 3a95fdb..635e7ad 100644 --- a/sys/net/ppp_tty.c +++ b/sys/net/ppp_tty.c @@ -98,8 +98,8 @@ static int pppopen __P((dev_t dev, struct tty *tp)); static int pppclose __P((struct tty *tp, int flag)); static int pppread __P((struct tty *tp, struct uio *uio, int flag)); static int pppwrite __P((struct tty *tp, struct uio *uio, int flag)); -static int ppptioctl __P((struct tty *tp, u_long cmd, caddr_t data, int flag, - struct proc *)); +static int ppptioctl __P((struct tty *tp, u_long cmd, caddr_t data, + int flag, struct thread *td)); static int pppinput __P((int c, struct tty *tp)); static int pppstart __P((struct tty *tp)); @@ -171,11 +171,11 @@ pppopen(dev, tp) dev_t dev; register struct tty *tp; { - struct proc *p = curproc; /* XXX */ + struct thread *td = curthread; /* XXX */ register struct ppp_softc *sc; int error, s; - if ((error = suser(p)) != 0) + if ((error = suser_td(td)) != 0) return (error); s = spltty(); @@ -188,7 +188,7 @@ pppopen(dev, tp) } } - if ((sc = pppalloc(p->p_pid)) == NULL) { + if ((sc = pppalloc(td->td_proc->p_pid)) == NULL) { splx(s); return ENXIO; } @@ -428,12 +428,12 @@ pppwrite(tp, uio, flag) */ /* ARGSUSED */ static int -ppptioctl(tp, cmd, data, flag, p) +ppptioctl(tp, cmd, data, flag, td) struct tty *tp; u_long cmd; caddr_t data; int flag; - struct proc *p; + struct thread *td; { struct ppp_softc *sc = (struct ppp_softc *) tp->t_sc; int error, s; @@ -444,7 +444,7 @@ ppptioctl(tp, cmd, data, flag, p) error = 0; switch (cmd) { case PPPIOCSASYNCMAP: - if ((error = suser(p)) != 0) + if ((error = suser_td(td)) != 0) break; sc->sc_asyncmap[0] = *(u_int *)data; break; @@ -454,7 +454,7 @@ ppptioctl(tp, cmd, data, flag, p) break; case PPPIOCSRASYNCMAP: - if ((error = suser(p)) != 0) + if ((error = suser_td(td)) != 0) break; sc->sc_rasyncmap = *(u_int *)data; break; @@ -464,7 +464,7 @@ ppptioctl(tp, cmd, data, flag, p) break; case PPPIOCSXASYNCMAP: - if ((error = suser(p)) != 0) + if ((error = suser_td(td)) != 0) break; s = spltty(); bcopy(data, sc->sc_asyncmap, sizeof(sc->sc_asyncmap)); @@ -479,7 +479,7 @@ ppptioctl(tp, cmd, data, flag, p) break; default: - error = pppioctl(sc, cmd, data, flag, p); + error = pppioctl(sc, cmd, data, flag, td); if (error == 0 && cmd == PPPIOCSMRU) pppgetm(sc); } diff --git a/sys/net/raw_cb.h b/sys/net/raw_cb.h index 6c079a9..59905085 100644 --- a/sys/net/raw_cb.h +++ b/sys/net/raw_cb.h @@ -62,13 +62,21 @@ struct rawcb { #ifdef _KERNEL extern LIST_HEAD(rawcb_list_head, rawcb) rawcb_list; +/* protosw entries */ +pr_ctlinput_t raw_ctlinput; +pr_init_t raw_init; + +/* usrreq entries */ int raw_attach __P((struct socket *, int)); -void raw_ctlinput __P((int, struct sockaddr *, void *)); void raw_detach __P((struct rawcb *)); void raw_disconnect __P((struct rawcb *)); -void raw_init __P((void)); + +#if 0 /* what the ??? */ +pr_input_t raw_input; +#else void raw_input __P((struct mbuf *, struct sockproto *, struct sockaddr *, struct sockaddr *)); +#endif extern struct pr_usrreqs raw_usrreqs; #endif diff --git a/sys/net/raw_usrreq.c b/sys/net/raw_usrreq.c index 102ae69..555bd3f 100644 --- a/sys/net/raw_usrreq.c +++ b/sys/net/raw_usrreq.c @@ -150,26 +150,26 @@ raw_uabort(struct socket *so) /* pru_accept is EOPNOTSUPP */ static int -raw_uattach(struct socket *so, int proto, struct proc *p) +raw_uattach(struct socket *so, int proto, struct thread *td) { struct rawcb *rp = sotorawcb(so); int error; if (rp == 0) return EINVAL; - if (p && (error = suser(p)) != 0) + if (td && (error = suser_td(td)) != 0) return error; return raw_attach(so, proto); } static int -raw_ubind(struct socket *so, struct sockaddr *nam, struct proc *p) +raw_ubind(struct socket *so, struct sockaddr *nam, struct thread *td) { return EINVAL; } static int -raw_uconnect(struct socket *so, struct sockaddr *nam, struct proc *p) +raw_uconnect(struct socket *so, struct sockaddr *nam, struct thread *td) { return EINVAL; } @@ -225,7 +225,7 @@ raw_upeeraddr(struct socket *so, struct sockaddr **nam) static int raw_usend(struct socket *so, int flags, struct mbuf *m, - struct sockaddr *nam, struct mbuf *control, struct proc *p) + struct sockaddr *nam, struct mbuf *control, struct thread *td) { int error; struct rawcb *rp = sotorawcb(so); diff --git a/sys/net/route.h b/sys/net/route.h index bfe72d8..16c59e4 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -271,7 +271,6 @@ extern struct route_cb route_cb; extern struct radix_node_head *rt_tables[AF_MAX+1]; struct ifmultiaddr; -struct proc; void route_init __P((void)); void rt_ifmsg __P((struct ifnet *)); diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index ede7ad6..e7f3a2c 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -102,7 +102,7 @@ rts_abort(struct socket *so) /* pru_accept is EOPNOTSUPP */ static int -rts_attach(struct socket *so, int proto, struct proc *p) +rts_attach(struct socket *so, int proto, struct thread *td) { struct rawcb *rp; int s, error; @@ -154,21 +154,21 @@ rts_attach(struct socket *so, int proto, struct proc *p) } static int -rts_bind(struct socket *so, struct sockaddr *nam, struct proc *p) +rts_bind(struct socket *so, struct sockaddr *nam, struct thread *td) { int s, error; s = splnet(); - error = raw_usrreqs.pru_bind(so, nam, p); /* xxx just EINVAL */ + error = raw_usrreqs.pru_bind(so, nam, td); /* xxx just EINVAL */ splx(s); return error; } static int -rts_connect(struct socket *so, struct sockaddr *nam, struct proc *p) +rts_connect(struct socket *so, struct sockaddr *nam, struct thread *td) { int s, error; s = splnet(); - error = raw_usrreqs.pru_connect(so, nam, p); /* XXX just EINVAL */ + error = raw_usrreqs.pru_connect(so, nam, td); /* XXX just EINVAL */ splx(s); return error; } @@ -232,11 +232,11 @@ rts_peeraddr(struct socket *so, struct sockaddr **nam) static int rts_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam, - struct mbuf *control, struct proc *p) + struct mbuf *control, struct thread *td) { int s, error; s = splnet(); - error = raw_usrreqs.pru_send(so, flags, m, nam, control, p); + error = raw_usrreqs.pru_send(so, flags, m, nam, control, td); splx(s); return error; } |