crypto: virtio - Register an algo only if it's supported
Register a crypto algo with the Linux crypto layer only if the algorithm is supported by the backend virtio-crypto device. Also route crypto requests to a virtio-crypto device, only if it can support the requested service and algorithm. Signed-off-by: Farhan Ali <alifm@linux.ibm.com> Acked-by: Gonglei <arei.gonglei@huawei.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
@@ -116,7 +116,12 @@ int virtcrypto_dev_in_use(struct virtio_crypto *vcrypto_dev);
|
||||
int virtcrypto_dev_get(struct virtio_crypto *vcrypto_dev);
|
||||
void virtcrypto_dev_put(struct virtio_crypto *vcrypto_dev);
|
||||
int virtcrypto_dev_started(struct virtio_crypto *vcrypto_dev);
|
||||
struct virtio_crypto *virtcrypto_get_dev_node(int node);
|
||||
bool virtcrypto_algo_is_supported(struct virtio_crypto *vcrypto_dev,
|
||||
uint32_t service,
|
||||
uint32_t algo);
|
||||
struct virtio_crypto *virtcrypto_get_dev_node(int node,
|
||||
uint32_t service,
|
||||
uint32_t algo);
|
||||
int virtcrypto_dev_start(struct virtio_crypto *vcrypto);
|
||||
void virtcrypto_dev_stop(struct virtio_crypto *vcrypto);
|
||||
int virtio_crypto_ablkcipher_crypt_req(
|
||||
@@ -136,7 +141,7 @@ static inline int virtio_crypto_get_current_node(void)
|
||||
return node;
|
||||
}
|
||||
|
||||
int virtio_crypto_algs_register(void);
|
||||
void virtio_crypto_algs_unregister(void);
|
||||
int virtio_crypto_algs_register(struct virtio_crypto *vcrypto);
|
||||
void virtio_crypto_algs_unregister(struct virtio_crypto *vcrypto);
|
||||
|
||||
#endif /* _VIRTIO_CRYPTO_COMMON_H */
|
||||
|
Reference in New Issue
Block a user