On 11.01.22 21:29, Andrew Cooper wrote:
On 11/01/2022 15:12, Juergen Gross wrote:diff --git a/tpm_tis.c b/tpm_tis.c index 477f555..abea7a1 100644 --- a/tpm_tis.c +++ b/tpm_tis.c @@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap, return rc; }+static void shutdown_tpm_tis(struct tpm_chip* tpm){Style, as you're moving it. Also in the function.@@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf) return 0; }+static struct file_ops tpm_tis_ops = {+ .name = "tpm_tis", + .read = tpm_tis_posix_read, + .write = tpm_tis_posix_write, + .lseek = lseek_default, + .close = tpm_tis_close, + .fstat = tpm_tis_posix_fstat, +}; + +int tpm_tis_open(struct tpm_chip* tpm)Style.
Ah, yes I should have corrected this while moving the function.
+{ + struct file *file; + static unsigned int ftype_tis; + + /* Silently prevent multiple opens */ + if(tpm->fd != -1) { + return tpm->fd; + }Another WTF moment. We silently swallow multiple open()s, but don't refcout close()s ? This cannot be correct, or sensible, behaviour. Jason/Daniel - thoughts?
I just moved the function, but I can change this, of course. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
