diff options
author | Jason Gunthorpe <[email protected]> | 2016-02-12 20:29:53 -0700 |
---|---|---|
committer | Jarkko Sakkinen <[email protected]> | 2016-06-25 17:26:35 +0300 |
commit | 4e26195f240d73150e8308ae42874702e3df8d2c (patch) | |
tree | c0e8ff3604b09484393d10a927ed1e9a46a7ed0d /lib/cpu-notifier-error-inject.c | |
parent | 3635e2ec7cbb9aa054f8d4361dec27b0ca625905 (diff) |
tpm: Provide strong locking for device removal
Add a read/write semaphore around the ops function pointers so
ops can be set to null when the driver un-registers.
Previously the tpm core expected module locking to be enough to
ensure that tpm_unregister could not be called during certain times,
however that hasn't been sufficient for a long time.
Introduce a read/write semaphore around 'ops' so the core can set
it to null when unregistering. This provides a strong fence around
the driver callbacks, guaranteeing to the driver that no callbacks
are running or will run again.
For now the ops_lock is placed very high in the call stack, it could
be pushed down and made more granular in future if necessary.
Signed-off-by: Jason Gunthorpe <[email protected]>
Reviewed-by: Stefan Berger <[email protected]>
Reviewed-by: Jarkko Sakkinen <[email protected]>
Signed-off-by: Jarkko Sakkinen <[email protected]>
Diffstat (limited to 'lib/cpu-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions