if(kern_msg->msg_iovlen > UIO_FASTIOV) { kern_iov = kmalloc(kern_msg->msg_iovlen * sizeof(struct iovec), GFP_KERNEL); if(!kern_iov) return -ENOMEM; }  
int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,		   char *kern_address, int mode){	int tot_len;	if(kern_msg->msg_namelen) {		if(mode==VERIFY_READ) {			int err = move_addr_to_kernel(kern_msg->msg_name,						      kern_msg->msg_namelen,						      kern_address);			if(err < 0)				return err;		}		kern_msg->msg_name = kern_address;	} else		kern_msg->msg_name = NULL;	if(kern_msg->msg_iovlen > UIO_FASTIOV) {		kern_iov = kmalloc(kern_msg->msg_iovlen * sizeof(struct iovec),				   GFP_KERNEL);		if(!kern_iov)			return -ENOMEM;	}	tot_len = iov_from_user_compat_to_kern(kern_iov,					  (struct compat_iovec __user *)kern_msg->msg_iov,					  kern_msg->msg_iovlen);	if(tot_len >= 0)		kern_msg->msg_iov = kern_iov;	else if(kern_msg->msg_iovlen > UIO_FASTIOV)		kfree(kern_iov);	return tot_len;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d64d3873721cfe870d49d73c3744f06260779ce7/compat.c/clean/net/compat.c