error: 
error: 
static int user_update(struct key *key, const void *data, size_t datalen){	struct user_key_payload *upayload, *zap;	int ret;	ret = -EINVAL;	if (datalen <= 0 || datalen > 32767 || !data)		goto error;	/* construct a replacement payload */	ret = -ENOMEM;	upayload = kmalloc(sizeof(*upayload) + datalen, GFP_KERNEL);	if (!upayload)		goto error;	upayload->datalen = datalen;	memcpy(upayload->data, data, datalen);	/* check the quota and attach the new data */	zap = upayload;	ret = key_payload_reserve(key, datalen);	if (ret == 0) {		/* attach the new data, displacing the old */		zap = key->payload.data;		rcu_assign_pointer(key->payload.data, upayload);		key->expiry = 0;	}	call_rcu(&zap->rcu, user_update_rcu_disposal); error:	return ret;} /* end user_update() */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2aa349f6e37ce030060c994d3aebbff4ab703565/user_defined.c/clean/security/keys/user_defined.c