diff options
-rw-r--r-- | sys/kern/uipc_socket.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index b35faf0..f638f91 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -210,21 +210,21 @@ soalloc(int mflags) struct socket *so; so = uma_zalloc(socket_zone, mflags | M_ZERO); - if (so != NULL) { + if (so == NULL) + return (NULL); #ifdef MAC - if (mac_init_socket(so, mflags) != 0) { - uma_zfree(socket_zone, so); - return (NULL); - } -#endif - SOCKBUF_LOCK_INIT(&so->so_snd, "so_snd"); - SOCKBUF_LOCK_INIT(&so->so_rcv, "so_rcv"); - TAILQ_INIT(&so->so_aiojobq); - mtx_lock(&so_global_mtx); - so->so_gencnt = ++so_gencnt; - ++numopensockets; - mtx_unlock(&so_global_mtx); + if (mac_init_socket(so, mflags) != 0) { + uma_zfree(socket_zone, so); + return (NULL); } +#endif + SOCKBUF_LOCK_INIT(&so->so_snd, "so_snd"); + SOCKBUF_LOCK_INIT(&so->so_rcv, "so_rcv"); + TAILQ_INIT(&so->so_aiojobq); + mtx_lock(&so_global_mtx); + so->so_gencnt = ++so_gencnt; + ++numopensockets; + mtx_unlock(&so_global_mtx); return (so); } |