unsigned int __nocast gfp) 
gfp_t gfp) 
static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,						struct sock *sk,						unsigned int __nocast gfp){	struct sctp_sock *sp = sctp_sk(sk);	memset(ep, 0, sizeof(struct sctp_endpoint));	/* Initialize the base structure. */	/* What type of endpoint are we?  */	ep->base.type = SCTP_EP_TYPE_SOCKET;	/* Initialize the basic object fields. */	atomic_set(&ep->base.refcnt, 1);	ep->base.dead = 0;	ep->base.malloced = 1;	/* Create an input queue.  */	sctp_inq_init(&ep->base.inqueue);	/* Set its top-half handler */	sctp_inq_set_th_handler(&ep->base.inqueue,				(void (*)(void *))sctp_endpoint_bh_rcv, ep);	/* Initialize the bind addr area */	sctp_bind_addr_init(&ep->base.bind_addr, 0);	rwlock_init(&ep->base.addr_lock);	/* Remember who we are attached to.  */	ep->base.sk = sk;	sock_hold(ep->base.sk);	/* Create the lists of associations.  */	INIT_LIST_HEAD(&ep->asocs);	/* Set up the base timeout information.  */	ep->timeouts[SCTP_EVENT_TIMEOUT_NONE] = 0;	ep->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE] =		msecs_to_jiffies(sp->rtoinfo.srto_initial);	ep->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT] =		msecs_to_jiffies(sp->rtoinfo.srto_initial);	ep->timeouts[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN] =		msecs_to_jiffies(sp->rtoinfo.srto_initial);	ep->timeouts[SCTP_EVENT_TIMEOUT_T3_RTX] = 0;	ep->timeouts[SCTP_EVENT_TIMEOUT_T4_RTO] = 0;	/* sctpimpguide-05 Section 2.12.2	 * If the 'T5-shutdown-guard' timer is used, it SHOULD be set to the	 * recommended value of 5 times 'RTO.Max'.	 */        ep->timeouts[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD]		= 5 * msecs_to_jiffies(sp->rtoinfo.srto_max);	ep->timeouts[SCTP_EVENT_TIMEOUT_HEARTBEAT] = 0;	ep->timeouts[SCTP_EVENT_TIMEOUT_SACK] = sctp_sack_timeout;	ep->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] = sp->autoclose * HZ;	/* Use SCTP specific send buffer space queues.  */	ep->sndbuf_policy = sctp_sndbuf_policy;	sk->sk_write_space = sctp_write_space;	sock_set_flag(sk, SOCK_USE_WRITE_QUEUE);	/* Initialize the secret key used with cookie. */	get_random_bytes(&ep->secret_key[0], SCTP_SECRET_SIZE);	ep->last_key = ep->current_key = 0;	ep->key_changed_at = jiffies;	return ep;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7/endpointola.c/buggy/net/sctp/endpointola.c