Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/in_pcb.c
Show First 20 Lines • Show All 274 Lines • ▼ Show 20 Lines | in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo) | ||||
int error; | int error; | ||||
INP_INFO_WLOCK_ASSERT(pcbinfo); | INP_INFO_WLOCK_ASSERT(pcbinfo); | ||||
error = 0; | error = 0; | ||||
inp = uma_zalloc(pcbinfo->ipi_zone, M_NOWAIT); | inp = uma_zalloc(pcbinfo->ipi_zone, M_NOWAIT); | ||||
if (inp == NULL) | if (inp == NULL) | ||||
return (ENOBUFS); | return (ENOBUFS); | ||||
bzero(inp, inp_zero_size); | bzero(inp, inp_zero_size); | ||||
inp->inp_ip_id = ip_initid(); | |||||
inp->inp_pcbinfo = pcbinfo; | inp->inp_pcbinfo = pcbinfo; | ||||
inp->inp_socket = so; | inp->inp_socket = so; | ||||
inp->inp_cred = crhold(so->so_cred); | inp->inp_cred = crhold(so->so_cred); | ||||
inp->inp_inc.inc_fibnum = so->so_fibnum; | inp->inp_inc.inc_fibnum = so->so_fibnum; | ||||
#ifdef MAC | #ifdef MAC | ||||
error = mac_inpcb_init(inp, M_NOWAIT); | error = mac_inpcb_init(inp, M_NOWAIT); | ||||
if (error != 0) | if (error != 0) | ||||
goto out; | goto out; | ||||
▲ Show 20 Lines • Show All 2,328 Lines • Show Last 20 Lines |