Thread (8 messages) 8 messages, 4 authors, 2020-09-14

Re: [PATCH] security: keys: Use kvfree_sensitive in a few places

From: Alex Dewar <hidden>
Date: 2020-09-11 16:00:09
Also in: keyrings

On Fri, Sep 11, 2020 at 08:04:24AM -0700, James Bottomley wrote:
On Fri, 2020-09-11 at 12:44 +0100, Alex Dewar wrote:
quoted
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.
That last bit is untrue: the compiler can't elide memzero_explicit ...
that's why it has the explicit suffix.

The original problem was a lot of people do memset(.., 0, ..); kfree()
which the compiler can elide if it understands the memory is going out
of scope.  Or the even more problematic memset(..., 0, ...) on a stack
variable before it goes out of scope.

We can argue about readability but there's no secret leak here.
Ahh, my mistake. Thanks for the explanation.

I'll send a v2 with an updated commit message. I think it would still
make sense to use kfree_sensitive here as on next-20200911 this is the
last use of kzfree in the tree and it would be nice to excise it
altogether.

Best,
Alex
James
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help