diff options
Diffstat (limited to 'security/keys/user_defined.c')
| -rw-r--r-- | security/keys/user_defined.c | 5 | 
1 files changed, 2 insertions, 3 deletions
diff --git a/security/keys/user_defined.c b/security/keys/user_defined.c index 6f12de4ce549..07d4287e9084 100644 --- a/security/keys/user_defined.c +++ b/security/keys/user_defined.c @@ -168,7 +168,7 @@ EXPORT_SYMBOL_GPL(user_describe);   * read the key data   * - the key's semaphore is read-locked   */ -long user_read(const struct key *key, char __user *buffer, size_t buflen) +long user_read(const struct key *key, char *buffer, size_t buflen)  {  	const struct user_key_payload *upayload;  	long ret; @@ -181,8 +181,7 @@ long user_read(const struct key *key, char __user *buffer, size_t buflen)  		if (buflen > upayload->datalen)  			buflen = upayload->datalen; -		if (copy_to_user(buffer, upayload->data, buflen) != 0) -			ret = -EFAULT; +		memcpy(buffer, upayload->data, buflen);  	}  	return ret;  |