Re: [PATCH] TPM: Let the tpm char device be openable multiple times

From: Kent Yoder
Date: Mon Oct 15 2012 - 18:02:35 EST


> Using open/close is an interesting idea, but it wouldn't work. open()
> is coded to return EBUSY if another process has it open, rather than
> block, and spinning on open would be unacceptable.

I'm trying to imagine when spinning would be unacceptable? Keygen
could take several seconds, regardless of whether you can get the
command to the chip right away or not...

> > around any use of the device node. That seems simple enough to me. In
> > places where you do want TSS to be the sole opener, it can't enforce
> > that rule itself, so I think we need to preserve the option of a single
> > open at a minimum.
>
> I agree, but I'm not sure how to expose this function? I've seen other
> places abuse O_EXCL for this, but that would not be compatible with
> existing implementations.
>
> Three things come to mind
> - O_EXCL means the open only succeeds if it the only open and
> prevents others (not compatible)
> - Some other O_ flag is hijacked to mean the opposite of the above
> (yuk)
> - A sysfs flag is added to turn on the new O_EXCL behavior
>
> What do you think?

My first thought was a sysfs var to turn off exclusivity that
defaulted to today's behavior.

Kent

> Jason
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/