tailscale/feature/tpm/tpm_linux.go
Andrew Lytvynov 9eff8a4503
feature/tpm: return opening errors from both /dev/tpmrm0 and /dev/tpm0 (#18071)
This might help users diagnose why TPM access is failing for tpmrm0.

Fixes #18026

Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2025-11-26 12:35:24 -06:00

25 lines
472 B
Go

// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
package tpm
import (
"errors"
"github.com/google/go-tpm/tpm2/transport"
"github.com/google/go-tpm/tpm2/transport/linuxtpm"
)
func open() (transport.TPMCloser, error) {
tpm, err := linuxtpm.Open("/dev/tpmrm0")
if err == nil {
return tpm, nil
}
errs := []error{err}
tpm, err = linuxtpm.Open("/dev/tpm0")
if err == nil {
return tpm, nil
}
return nil, errors.Join(errs...)
}