[libvirt] [PATCH v5 04/11] Helper functions for host TPM support
Daniel P. Berrange
berrange at redhat.com
Fri Apr 12 12:47:02 UTC 2013
On Fri, Apr 12, 2013 at 08:40:18AM -0400, Stefan Berger wrote:
> On 04/12/2013 06:24 AM, Daniel P. Berrange wrote:
> >On Thu, Apr 11, 2013 at 04:04:46PM -0400, Stefan Berger wrote:
> >>Implement helper functions to find the TPM's sysfs cancel file.
> >>
> >>Signed-off-by: Stefan Berger <stefanb at linux.vnet.ibm.com>
> >>Reviewed-by: Corey Bryant <coreyb at linux.vnet.ibm.com>
> >>Tested-by: Corey Bryant <coreyb at linux.vnet.ibm.com>
> >>
> >>Hmm, actually on second thoughts the entirely approach for this
> >>method is just flawed.
> >>
> >>In the XML description you have:
> >>
> >> <device path='/dev/tpm0'/>
> >>
> >>So we should not be iterating over /sys/fs/misc/tpmNNN at all.
> >>We know exactly which TPM device we want - it is 'tpm0'. Just
> >>kill all this pointless readdir code & pass in the device name
> >>we want to get the cancel path for.
>
> Indeed, the following is better:
>
> /**
> * virTPMFindCancelPath:
> * @devpath: Path to the TPM device
> *
> * Find the cancel path given the path to the TPM device
> */
> char *
> virTPMFindCancelPath(const char *devpath)
> {
> char *basepath = NULL;
> char *path = NULL;
> const char *dev;
>
> if (devpath) {
> dev = rindex(devpath, '/');
rindex is deprecated by POSIX - strrchr is preferred.
> if (dev) {
> dev++;
> if (virAsprintf(&basepath, "/sys/class/misc/%s/device",
> dev) < 0) {
> virReportOOMError();
> goto cleanup;
> }
> path = virTPMCheckSysfsCancel(basepath);
> } else {
> virReportError(VIR_ERR_INTERNAL_ERROR,
> _("TPM device path %s is invalid"), devpath);
> }
> } else {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> _("Missing TPM device path"));
> }
>
> cleanup:
> VIR_FREE(basepath);
>
> return path;
> }
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list