Thread (20 messages) 20 messages, 2 authors, 2015-08-04

Re: [PATCH 6/8] crypto: qat - Convert to new AEAD interface

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2015-08-04 13:32:21

On Tue, Aug 04, 2015 at 06:26:58AM -0700, Tadeusz Struk wrote:
The way we handle it in qat is as follows - when tfm allocates a
crypto "instance" on a qat dev it then calls qat_crypto_put_instance(),
which calls also adf_dev_put() on the appropriate qat device.
This then calls module_put() on accel_dev->owner.
This way, when any tfm is allocated on a device the attempts to rmmod
or ioctl shutdown returns -EBUSY. See adf_ctl_is_device_in_use()
One can only successfully shut down a device or rmmod qat_dh895 when
all tfms are freed.

The only possibility when we may try to restart a device when tfms are
allocated is when we handle HW uncorrectable errors, which in theory
should never happen :)
What if someone calls adf_remove? For a software implementation
you can prevent the algorithm from going away by holding module
reference counts.  But a device can always be removed and you're
not going to stop that no matter how many reference counts you
hold :)

Cheers,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help