lkml.org 
[lkml]   [2018]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC v1 1/2] crypto/virtio-crypto: Read crypto services and algorithm masks
From
Date
Hi Arei

On 06/11/2018 02:43 AM, Gonglei (Arei) wrote:
>
>> -----Original Message-----
>> From: Farhan Ali [mailto:alifm@linux.ibm.com]
>> Sent: Saturday, June 09, 2018 3:09 AM
>> To: linux-kernel@vger.kernel.org; kvm@vger.kernel.org
>> Cc: mst@redhat.com; qemu-devel@nongnu.org; Gonglei (Arei)
>> <arei.gonglei@huawei.com>; longpeng <longpeng2@huawei.com>;
>> pasic@linux.ibm.com; frankja@linux.ibm.com; borntraeger@de.ibm.com;
>> alifm@linux.ibm.com
>> Subject: [RFC v1 1/2] crypto/virtio-crypto: Read crypto services and algorithm
>> masks
>>
>> Read the crypto services and algorithm masks which provides
>> information about the services and algorithms supported by
>> virtio-crypto backend.
>>
>> Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
>> ---
>> drivers/crypto/virtio/virtio_crypto_common.h | 14 ++++++++++++++
>> drivers/crypto/virtio/virtio_crypto_core.c | 29
>> ++++++++++++++++++++++++++++
>> 2 files changed, 43 insertions(+)
>>
>> diff --git a/drivers/crypto/virtio/virtio_crypto_common.h
>> b/drivers/crypto/virtio/virtio_crypto_common.h
>> index 66501a5..05eca12e 100644
>> --- a/drivers/crypto/virtio/virtio_crypto_common.h
>> +++ b/drivers/crypto/virtio/virtio_crypto_common.h
>> @@ -55,6 +55,20 @@ struct virtio_crypto {
>> /* Number of queue currently used by the driver */
>> u32 curr_queue;
>>
>> + /*
>> + * Specifies the services mask which the device support,
>> + * see VIRTIO_CRYPTO_SERVICE_* above
>> + */
>
> Pls update the above comments. Except that:
>
> Acked-by: Gonglei <arei.gonglei@huawei.com>
>

Sure will update the comment. How about " Specifies the services mask
which the device support, * see VIRTIO_CRYPTO_SERVICE_*" ?

or should I specify the file where the VIRTIO_CRYPTO_SERVICE_* are defined?

Thanks
Farhan

>> + u32 crypto_services;
>> +
>> + /* Detailed algorithms mask */
>> + u32 cipher_algo_l;
>> + u32 cipher_algo_h;
>> + u32 hash_algo;
>> + u32 mac_algo_l;
>> + u32 mac_algo_h;
>> + u32 aead_algo;
>> +
>> /* Maximum length of cipher key */
>> u32 max_cipher_key_len;
>> /* Maximum length of authenticated key */
>> diff --git a/drivers/crypto/virtio/virtio_crypto_core.c
>> b/drivers/crypto/virtio/virtio_crypto_core.c
>> index 8332698..8f745f2 100644
>> --- a/drivers/crypto/virtio/virtio_crypto_core.c
>> +++ b/drivers/crypto/virtio/virtio_crypto_core.c
>> @@ -303,6 +303,13 @@ static int virtcrypto_probe(struct virtio_device *vdev)
>> u32 max_data_queues = 0, max_cipher_key_len = 0;
>> u32 max_auth_key_len = 0;
>> u64 max_size = 0;
>> + u32 cipher_algo_l = 0;
>> + u32 cipher_algo_h = 0;
>> + u32 hash_algo = 0;
>> + u32 mac_algo_l = 0;
>> + u32 mac_algo_h = 0;
>> + u32 aead_algo = 0;
>> + u32 crypto_services = 0;
>>
>> if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1))
>> return -ENODEV;
>> @@ -339,6 +346,20 @@ static int virtcrypto_probe(struct virtio_device *vdev)
>> max_auth_key_len, &max_auth_key_len);
>> virtio_cread(vdev, struct virtio_crypto_config,
>> max_size, &max_size);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + crypto_services, &crypto_services);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + cipher_algo_l, &cipher_algo_l);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + cipher_algo_h, &cipher_algo_h);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + hash_algo, &hash_algo);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + mac_algo_l, &mac_algo_l);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + mac_algo_h, &mac_algo_h);
>> + virtio_cread(vdev, struct virtio_crypto_config,
>> + aead_algo, &aead_algo);
>>
>> /* Add virtio crypto device to global table */
>> err = virtcrypto_devmgr_add_dev(vcrypto);
>> @@ -358,6 +379,14 @@ static int virtcrypto_probe(struct virtio_device *vdev)
>> vcrypto->max_cipher_key_len = max_cipher_key_len;
>> vcrypto->max_auth_key_len = max_auth_key_len;
>> vcrypto->max_size = max_size;
>> + vcrypto->crypto_services = crypto_services;
>> + vcrypto->cipher_algo_l = cipher_algo_l;
>> + vcrypto->cipher_algo_h = cipher_algo_h;
>> + vcrypto->mac_algo_l = mac_algo_l;
>> + vcrypto->mac_algo_h = mac_algo_h;
>> + vcrypto->hash_algo = hash_algo;
>> + vcrypto->aead_algo = aead_algo;
>> +
>>
>> dev_info(&vdev->dev,
>> "max_queues: %u, max_cipher_key_len: %u, max_auth_key_len: %u,
>> max_size 0x%llx\n",
>> --
>> 2.7.4
>
>

\
 
 \ /
  Last update: 2018-06-12 19:07    [W:0.058 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site