Messages in this thread | | | Subject | Re: [PATCH] security: keys: Use kvfree_sensitive in a few places | From | Denis Efremov <> | Date | Fri, 11 Sep 2020 19:05:16 +0300 |
| |
Hi,
same patch
https://lkml.org/lkml/2020/8/27/168
Thanks, Denis
On 9/11/20 2:44 PM, Alex Dewar wrote: > In big_key.c, there are a few places where memzero_explicit + kvfree is > used. It is better to use kvfree_sensitive instead, which is more > readable and also prevents the compiler from eliding the call to > memzero_explicit. Fix this. > > Signed-off-by: Alex Dewar <alex.dewar90@gmail.com> > --- > security/keys/big_key.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/security/keys/big_key.c b/security/keys/big_key.c > index 691347dea3c1..d17e5f09eeb8 100644 > --- a/security/keys/big_key.c > +++ b/security/keys/big_key.c > @@ -121,8 +121,7 @@ int big_key_preparse(struct key_preparsed_payload *prep) > *path = file->f_path; > path_get(path); > fput(file); > - memzero_explicit(buf, enclen); > - kvfree(buf); > + kvfree_sensitive(buf, enclen); > } else { > /* Just store the data in a buffer */ > void *data = kmalloc(datalen, GFP_KERNEL); > @@ -140,8 +139,7 @@ int big_key_preparse(struct key_preparsed_payload *prep) > err_enckey: > kfree_sensitive(enckey); > error: > - memzero_explicit(buf, enclen); > - kvfree(buf); > + kvfree_sensitive(buf, enclen); > return ret; > } > > @@ -273,8 +271,7 @@ long big_key_read(const struct key *key, char *buffer, size_t buflen) > err_fput: > fput(file); > error: > - memzero_explicit(buf, enclen); > - kvfree(buf); > + kvfree_sensitive(buf, enclen); > } else { > ret = datalen; > memcpy(buffer, key->payload.data[big_key_data], datalen); >
| |