diff options
author | cognet <cognet@FreeBSD.org> | 2003-11-17 19:21:53 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2003-11-17 19:21:53 +0000 |
commit | b60bc6ed206a0508741ee5ab94aa780a97c8d1ba (patch) | |
tree | a5c7741fd92b6a9a9c69a0c09399ae16a2d8d4cd /sys | |
parent | 2ddfca621f7950264b1bcfef86ad1cbff4683413 (diff) | |
download | FreeBSD-src-b60bc6ed206a0508741ee5ab94aa780a97c8d1ba.zip FreeBSD-src-b60bc6ed206a0508741ee5ab94aa780a97c8d1ba.tar.gz |
In rip_abort(), unlock the inpcb if we didn't detach it, or we may
recurse on the lock before destroying the mutex.
Submitted by: sam
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/raw_ip.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 1c861f4..8e02e41 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -604,6 +604,8 @@ rip_abort(struct socket *so) soisdisconnected(so); if (so->so_state & SS_NOFDREF) rip_pcbdetach(so, inp); + else + INP_UNLOCK(inp); INP_INFO_WUNLOCK(&ripcbinfo); return 0; } |