diff options
author | rwatson <rwatson@FreeBSD.org> | 2006-04-01 15:15:05 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2006-04-01 15:15:05 +0000 |
commit | 8622e776f910513e077d822efc579cdb9ba09316 (patch) | |
tree | 9714c8659826516cd802bd3b0a45d778b7ebb1a6 /sys/netnatm | |
parent | 6b3805592d02e666e50f1d4473fb18c587d69a75 (diff) | |
download | FreeBSD-src-8622e776f910513e077d822efc579cdb9ba09316.zip FreeBSD-src-8622e776f910513e077d822efc579cdb9ba09316.tar.gz |
Change protocol switch pru_abort() API so that it returns void rather
than an int, as an error here is not meaningful. Modify soabort() to
unconditionally free the socket on the return of pru_abort(), and
modify most protocols to no longer conditionally free the socket,
since the caller will do this.
This commit likely leaves parts of netinet and netinet6 in a situation
where they may panic or leak memory, as they have not are not fully
updated by this commit. This will be corrected shortly in followup
commits to these components.
MFC after: 3 months
Diffstat (limited to 'sys/netnatm')
-rw-r--r-- | sys/netnatm/natm.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/netnatm/natm.c b/sys/netnatm/natm.c index 05c5cff..6b3b202 100644 --- a/sys/netnatm/natm.c +++ b/sys/netnatm/natm.c @@ -83,7 +83,7 @@ static int natm_usr_send(struct socket *, int, struct mbuf *, static int natm_usr_peeraddr(struct socket *, struct sockaddr **); static int natm_usr_control(struct socket *, u_long, caddr_t, struct ifnet *, d_thread_t *); -static int natm_usr_abort(struct socket *); +static void natm_usr_abort(struct socket *); static int natm_usr_bind(struct socket *, struct sockaddr *, d_thread_t *); static int natm_usr_sockaddr(struct socket *, struct sockaddr **); @@ -333,14 +333,10 @@ natm_usr_control(struct socket *so, u_long cmd, caddr_t arg, return (error); } -static int +static void natm_usr_abort(struct socket *so) { natm_usr_shutdown(so); - ACCEPT_LOCK(); - SOCK_LOCK(so); - sotryfree(so); - return (0); } static int |