[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1290602771.2785.14.camel@localhost.localdomain>
Date: Wed, 24 Nov 2010 07:46:11 -0500
From: David Safford <safford@...son.ibm.com>
To: Serge Hallyn <serge.hallyn@...onical.com>
Cc: Mimi Zohar <zohar@...ux.vnet.ibm.com>,
linux-kernel@...r.kernel.org,
linux-security-module@...r.kernel.org, keyrings@...ux-nfs.org,
linux-crypto@...r.kernel.org, David Howells <dhowells@...hat.com>,
Jason Gunthorpe <jgunthorpe@...idianresearch.com>,
James Morris <jmorris@...ei.org>,
Rajiv Andrade <srajiv@...ux.vnet.ibm.com>
Subject: Re: [PATCH v1.5 3/5] key: add tpm_send command
On Tue, 2010-11-23 at 20:32 -0600, Serge Hallyn wrote:
> Quoting Mimi Zohar (zohar@...ux.vnet.ibm.com):
> > Add internal kernel tpm_send() command used to seal/unseal keys.
...
> > +int tpm_send(u32 chip_num, void *cmd, size_t buflen)
>
> Hate to nit-pick, but any particular reason you're not following the
> rest of the file and using 'struct tpm_cmd_t *cmd' here?
>
> Acked-by: Serge E. Hallyn <serge.hallyn@...onical.com>
We put some thought into this one. TPM command packets are
binary blobs with lots of optional and variable length fields,
and there are at least three common approaches to creating them:
structures (as used in tpm.c), load/store (as used in trousers
and trusted-keys), and an sprintf like format string (as used
in the original libtpm.) Each has its advantages and disadvantages.
Structures are nice for the simple TPM commands, but they become
unwieldy for the complex commands like seal and unseal. Load/store
is much more readable for the complex seal and unseal commands.
Format strings are nice for creating the most complex commands
in the fewest lines of code, but are way overkill for simple ones.
With the void *cmd, we are allowing the other modules to pick
whichever method most suits their needs.
dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists