int alloc_flags, 
unsigned int __nocast alloc_flags, 
int rxrpc_conn_newmsg(struct rxrpc_connection *conn,		      struct rxrpc_call *call,		      uint8_t type,		      int dcount,		      struct kvec diov[],		      int alloc_flags,		      struct rxrpc_message **_msg){	struct rxrpc_message *msg;	int loop;	_enter("%p{%d},%p,%u", conn, ntohs(conn->addr.sin_port), call, type);	if (dcount > 3) {		_leave(" = -EINVAL");		return -EINVAL;	}	msg = kmalloc(sizeof(struct rxrpc_message), alloc_flags);	if (!msg) {		_leave(" = -ENOMEM");		return -ENOMEM;	}	memset(msg, 0, sizeof(*msg));	atomic_set(&msg->usage, 1);	INIT_LIST_HEAD(&msg->link);	msg->state = RXRPC_MSG_PREPARED;	msg->hdr.epoch		= conn->out_epoch;	msg->hdr.cid		= conn->conn_id | (call ? call->chan_ix : 0);	msg->hdr.callNumber	= call ? call->call_id : 0;	msg->hdr.type		= type;	msg->hdr.flags		= conn->out_clientflag;	msg->hdr.securityIndex	= conn->security_ix;	msg->hdr.serviceId	= conn->service_id;	/* generate sequence numbers for data packets */	if (call) {		switch (type) {		case RXRPC_PACKET_TYPE_DATA:			msg->seq = ++call->snd_seq_count;			msg->hdr.seq = htonl(msg->seq);			break;		case RXRPC_PACKET_TYPE_ACK:			/* ACK sequence numbers are complicated. The following			 * may be wrong:			 * - jumbo packet ACKs should have a seq number			 * - normal ACKs should not			 */		default:			break;		}	}	msg->dcount = dcount + 1;	msg->dsize = sizeof(msg->hdr);	msg->data[0].iov_len = sizeof(msg->hdr);	msg->data[0].iov_base = &msg->hdr;	for (loop=0; loop < dcount; loop++) {		msg->dsize += diov[loop].iov_len;		msg->data[loop+1].iov_len  = diov[loop].iov_len;		msg->data[loop+1].iov_base = diov[loop].iov_base;	}	__RXACCT(atomic_inc(&rxrpc_message_count));	*_msg = msg;	_leave(" = 0 (%p) #%d", msg, atomic_read(&rxrpc_message_count));	return 0;} /* end rxrpc_conn_newmsg() */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dd13a285b79ba77416b96ee10f49097f4aaf48c5/connection.c/clean/net/rxrpc/connection.c