diff options
author | Takashi Iwai <tiwai@suse.de> | 2020-04-24 09:22:16 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-04-24 09:22:55 +0300 |
commit | 36dbae9945322e660795e73ffc8ed8ae4f25d13d (patch) | |
tree | 9e444e68380061dccfaa453d1f02cf21c5c986ef /security/keys/big_key.c | |
parent | 14ff6c5546e7d98f8326d9ee7a75b79de9874efb (diff) | |
parent | 0d283287a42027e8a618bcdf17b79578041ebabd (diff) | |
download | linux-36dbae9945322e660795e73ffc8ed8ae4f25d13d.tar.xz |
Merge branch 'topic/nhlt' into for-next
Merge NHLT init cleanup.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'security/keys/big_key.c')
-rw-r--r-- | security/keys/big_key.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/security/keys/big_key.c b/security/keys/big_key.c index 001abe530a0d..82008f900930 100644 --- a/security/keys/big_key.c +++ b/security/keys/big_key.c @@ -352,7 +352,7 @@ void big_key_describe(const struct key *key, struct seq_file *m) * read the key data * - the key's semaphore is read-locked */ -long big_key_read(const struct key *key, char __user *buffer, size_t buflen) +long big_key_read(const struct key *key, char *buffer, size_t buflen) { size_t datalen = (size_t)key->payload.data[big_key_len]; long ret; @@ -391,9 +391,8 @@ long big_key_read(const struct key *key, char __user *buffer, size_t buflen) ret = datalen; - /* copy decrypted data to user */ - if (copy_to_user(buffer, buf->virt, datalen) != 0) - ret = -EFAULT; + /* copy out decrypted data */ + memcpy(buffer, buf->virt, datalen); err_fput: fput(file); @@ -401,9 +400,7 @@ error: big_key_free_buffer(buf); } else { ret = datalen; - if (copy_to_user(buffer, key->payload.data[big_key_data], - datalen) != 0) - ret = -EFAULT; + memcpy(buffer, key->payload.data[big_key_data], datalen); } return ret; |