diff options
Diffstat (limited to 'sys/netinet/in_pcb.c')
-rw-r--r-- | sys/netinet/in_pcb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index ad461fd..adad6de 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -176,7 +176,9 @@ in_pcballoc(so, pcbinfo, type) error = mac_init_inpcb(inp, M_NOWAIT); if (error != 0) goto out; + SOCK_LOCK(so); mac_create_inpcb_from_socket(so, inp); + SOCK_UNLOCK(so); #endif #if defined(IPSEC) || defined(FAST_IPSEC) #ifdef FAST_IPSEC @@ -1175,10 +1177,11 @@ in_pcbsosetlabel(so) #ifdef MAC struct inpcb *inp; - /* XXX: Will assert socket lock when we have them. */ inp = (struct inpcb *)so->so_pcb; INP_LOCK(inp); + SOCK_LOCK(so); mac_inpcb_sosetlabel(so, inp); + SOCK_UNLOCK(so); INP_UNLOCK(inp); #endif } |