diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2006-03-17 20:40:17 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2006-03-17 20:40:17 +0000 |
| commit | 2f60f02dc9ccea09be118451dfcbb7568a466ef7 (patch) | |
| tree | 61ebc965b2fffece1ff25d1b6c69913d8480e955 /sys/netatalk | |
| parent | f2c40a511960708bb106420275178257559841c0 (diff) | |
Notes
Diffstat (limited to 'sys/netatalk')
| -rw-r--r-- | sys/netatalk/ddp_pcb.c | 5 | ||||
| -rw-r--r-- | sys/netatalk/ddp_usrreq.c | 32 |
2 files changed, 11 insertions, 26 deletions
diff --git a/sys/netatalk/ddp_pcb.c b/sys/netatalk/ddp_pcb.c index 23ccd8c1de2c..3c8ac96cb572 100644 --- a/sys/netatalk/ddp_pcb.c +++ b/sys/netatalk/ddp_pcb.c @@ -302,12 +302,11 @@ at_pcbdetach(struct socket *so, struct ddpcb *ddp) */ DDP_LIST_XLOCK_ASSERT(); DDP_LOCK_ASSERT(ddp); + KASSERT(so->so_pcb != NULL, ("at_pcbdetach: so_pcb == NULL")); + /* XXXRW: Why bother to disconnect it now? */ soisdisconnected(so); - ACCEPT_LOCK(); - SOCK_LOCK(so); so->so_pcb = NULL; - sotryfree(so); /* remove ddp from ddp_ports list */ if (ddp->ddp_lsat.sat_port != ATADDR_ANYPORT && diff --git a/sys/netatalk/ddp_usrreq.c b/sys/netatalk/ddp_usrreq.c index e3bde16aa0c4..df04cabcd65c 100644 --- a/sys/netatalk/ddp_usrreq.c +++ b/sys/netatalk/ddp_usrreq.c @@ -56,8 +56,7 @@ ddp_attach(struct socket *so, int proto, struct thread *td) int error = 0; ddp = sotoddpcb(so); - if (ddp != NULL) - return (EINVAL); + KASSERT(ddp == NULL, ("ddp_attach: ddp != NULL")); /* * Allocate socket buffer space first so that it's present @@ -79,8 +78,7 @@ ddp_detach(struct socket *so) struct ddpcb *ddp; ddp = sotoddpcb(so); - if (ddp == NULL) - return (EINVAL); + KASSERT(ddp != NULL, ("ddp_detach: ddp == NULL")); DDP_LIST_XLOCK(); DDP_LOCK(ddp); @@ -96,9 +94,7 @@ ddp_bind(struct socket *so, struct sockaddr *nam, struct thread *td) int error = 0; ddp = sotoddpcb(so); - if (ddp == NULL) { - return (EINVAL); - } + KASSERT(ddp != NULL, ("ddp_bind: ddp == NULL")); DDP_LIST_XLOCK(); DDP_LOCK(ddp); error = at_pcbsetaddr(ddp, nam, td); @@ -114,10 +110,7 @@ ddp_connect(struct socket *so, struct sockaddr *nam, struct thread *td) int error = 0; ddp = sotoddpcb(so); - if (ddp == NULL) { - return (EINVAL); - } - + KASSERT(ddp != NULL, ("ddp_connect: ddp == NULL")); DDP_LIST_XLOCK(); DDP_LOCK(ddp); if (ddp->ddp_fsat.sat_port != ATADDR_ANYPORT) { @@ -141,9 +134,7 @@ ddp_disconnect(struct socket *so) struct ddpcb *ddp; ddp = sotoddpcb(so); - if (ddp == NULL) { - return (EINVAL); - } + KASSERT(ddp != NULL, ("ddp_disconnect: ddp == NULL")); DDP_LOCK(ddp); if (ddp->ddp_fsat.sat_addr.s_node == ATADDR_ANYNODE) { DDP_UNLOCK(ddp); @@ -163,9 +154,7 @@ ddp_shutdown(struct socket *so) struct ddpcb *ddp; ddp = sotoddpcb(so); - if (ddp == NULL) { - return (EINVAL); - } + KASSERT(ddp != NULL, ("ddp_shutdown: ddp == NULL")); socantsendmore(so); return (0); } @@ -178,9 +167,7 @@ ddp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, int error = 0; ddp = sotoddpcb(so); - if (ddp == NULL) { - return (EINVAL); - } + KASSERT(ddp != NULL, ("ddp_send: ddp == NULL")); if (control && control->m_len) { return (EINVAL); @@ -219,13 +206,12 @@ ddp_abort(struct socket *so) struct ddpcb *ddp; ddp = sotoddpcb(so); - if (ddp == NULL) { - return (EINVAL); - } + KASSERT(ddp != NULL, ("ddp_abort: ddp == NULL")); DDP_LIST_XLOCK(); DDP_LOCK(ddp); at_pcbdetach(so, ddp); DDP_LIST_XUNLOCK(); + /* XXXRW: Should be calling sotryfree() here? */ return (0); } |
