Re: Re: [PATCH v3 0/4] Introduce akcipher service for virtio-crypto

zhenwei pi
2022-03-03T02:02:15Z

On 3/3/22 4:40 AM, Eric Biggers wrote:
> On Wed, Mar 02, 2022 at 11:39:13AM +0800, zhenwei pi wrote:
>> v2 -> v3:
>> Rename virtio_crypto_algs.c to virtio_crypto_skcipher_algs.c, and
>> minor changes of function name.
>> Minor changes in virtio_crypto_akcipher_algs.c: no need to copy from
>> buffer if opcode is verify.
>>
>> v1 -> v2:
>> Fix 1 compiling warning reported by kernel test robot <lkp@intel.com>
>> Put "__le32 akcipher_algo;" instead of "__le32 reserve;" field of
>> struct virtio_crypto_config directly without size change.
>> Add padding in struct virtio_crypto_ecdsa_session_para to keep
>> 64-bit alignment.
>> Remove irrelevant change by code format alignment.
>>
>> Also CC crypto gurus Herbert and linux-crypto@vger.kernel.org.
>>
>> Test with QEMU(patched by the v2 version), works fine.
>>
>> v1:
>> Introduce akcipher service, implement RSA algorithm, and a minor fix.
>>
>> zhenwei pi (4):
>> virtio_crypto: Introduce VIRTIO_CRYPTO_NOSPC
>> virtio-crypto: introduce akcipher service
>> virtio-crypto: implement RSA algorithm
>> virtio-crypto: rename skcipher algs
>>
>> drivers/crypto/virtio/Makefile | 3 +-
>> .../virtio/virtio_crypto_akcipher_algs.c | 585 ++++++++++++++++++
>> drivers/crypto/virtio/virtio_crypto_common.h | 7 +-
>> drivers/crypto/virtio/virtio_crypto_core.c | 6 +-
>> drivers/crypto/virtio/virtio_crypto_mgr.c | 15 +-
>> ...o_algs.c => virtio_crypto_skcipher_algs.c} | 4 +-
>> include/uapi/linux/virtio_crypto.h | 82 ++-
>> 7 files changed, 693 insertions(+), 9 deletions(-)
>> create mode 100644 drivers/crypto/virtio/virtio_crypto_akcipher_algs.c
>> rename drivers/crypto/virtio/{virtio_crypto_algs.c => virtio_crypto_skcipher_algs.c} (99%)
>
> Why is this patchset useful? That isn't explained anywhere.
>
> - Eric
>
Sorry about this missing part.

This feature provides akcipher service offloading capability for guest
side. And I also sent a patchset of QEMU:
https://patchwork.kernel.org/project/qemu-devel/cover/20220211084335.1254281-1-pizhenwei@bytedance.com/

The two patchsets work together, guest side sends
encrypt/decrypt/sign/verify requests to host side, host side handles
request and return response to the guest.

--
zhenwei pi