if (buflen > key->datalen) buflen = key->datalen;
if (buflen > upayload->datalen) buflen = upayload->datalen;
static long user_read(const struct key *key,		      char __user *buffer, size_t buflen){	long ret = key->datalen;	/* we can return the data as is */	if (buffer && buflen > 0) {		if (buflen > key->datalen)			buflen = key->datalen;		if (copy_to_user(buffer, key->payload.data, buflen) != 0)			ret = -EFAULT;	}	return ret;} /* end user_read() */