[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170509214526.GB87747@gmail.com>
Date: Tue, 9 May 2017 14:45:26 -0700
From: Eric Biggers <ebiggers3@...il.com>
To: David Howells <dhowells@...hat.com>
Cc: Kees Cook <keescook@...omium.org>,
James Morris <james.l.morris@...cle.com>,
"Serge E. Hallyn" <serge@...lyn.com>, keyrings@...r.kernel.org,
linux-security-module@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] key: Convert big_key payload.data to struct
On Tue, May 09, 2017 at 08:24:18AM +0100, David Howells wrote:
> Eric Biggers <ebiggers3@...il.com> wrote:
>
> > It probably would be easier to kmalloc() this struct and store a pointer to
> > it in key->payload.data[0]
>
> Yeah, but it's a waste of resources if you don't have to do it.
>
> David
Yes, but it seems very much like a micro-optimization, which isn't helpful when
the code contains undefined behavior and is creating problems. This is the
*big* key type, after all; shouldn't the amount of data in the key normally be
large enough to make a kmalloc() of 24 bytes insignificant?
And besides, I expect that most users don't even use the big_keys feature. If
we actually want to avoid wasting resources that aren't used, we shouldn't
allocate the crypto_rng and crypto_skcipher until someone tries to create a
big_key. (Currently they're allocated unconditionally in big_key_init().)
- Eric
Powered by blists - more mailing lists