if (key->payload.data) { key->datalen = source->datalen; memcpy(key->payload.data, source->payload.data, source->datalen); 
upayload->datalen = key->datalen = spayload->datalen; memcpy(upayload->data, spayload->data, key->datalen);  key->payload.data = upayload; 
static int user_duplicate(struct key *key, const struct key *source){	int ret;	/* just copy the payload */	ret = -ENOMEM;	key->payload.data = kmalloc(source->datalen, GFP_KERNEL);	if (key->payload.data) {		key->datalen = source->datalen;		memcpy(key->payload.data, source->payload.data, source->datalen);		ret = 0;	}	return ret;} /* end user_duplicate() */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/76d8aeabfeb1c42641a81c44280177b9a08670d8/user_defined.c/clean/security/keys/user_defined.c