in linux/tpm.go [41:61]
func GetCryptoprocessor(path string) (Cryptoprocessor, error) {
// Check if the TPM path exists
info, err := os.Stat(path)
if err != nil {
return nil, err
}
var tpm Cryptoprocessor
if (os.ModeDevice|os.ModeCharDevice)&info.Mode() != 0 {
tpm = &tpmDevice{
path: path,
}
} else {
return nil, fmt.Errorf(
"path %q is not a character device, only TPMs are supported",
path,
)
}
return tpm, nil
}