static long user_read(const struct key *key, char __user *buffer, size_t buflen) 
long user_read(const struct key *key, char __user *buffer, size_t buflen) 
static long user_read(const struct key *key,		      char __user *buffer, size_t buflen){	struct user_key_payload *upayload;	long ret;	upayload = rcu_dereference(key->payload.data);	ret = upayload->datalen;	/* we can return the data as is */	if (buffer && buflen > 0) {		if (buflen > upayload->datalen)			buflen = upayload->datalen;		if (copy_to_user(buffer, upayload->data, buflen) != 0)			ret = -EFAULT;	}	return ret;} /* end user_read() */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2aa349f6e37ce030060c994d3aebbff4ab703565/user_defined.c/buggy/security/keys/user_defined.c