Re: [PATCH v1] virtio-blk: Add inline encryption support
Linlin Zhang <[email protected]>
| Newsgroups | dev.linux.lists.virtio-dev |
|---|---|
| Message-ID | <[email protected]> |
On 8/19/2026 12:33 PM, Eric Biggers wrote: > On Fri, Aug 14, 2026 at 07:23:01AM -0700, Linlin Zhang wrote: >> When the feature is negotiated, the device reports inline encryption >> characteristics through virtio_blk_enc_characteristics. Add >> VIRTIO_BLK_T_GET_CRYPTO_MODES, VIRTIO_BLK_T_CRYPTO_IN, and >> VIRTIO_BLK_T_CRYPTO_OUT so that the driver can discover supported >> crypto modes and submit inline-encrypted I/O requests. > > How is the driver expected to program and evict keyslots? There are 2 new added drivers, one is virtio blk extension driver which is generic, and the other is crypto virtualization driver which is vendor specific. The virtio blk extension driver manages the initialization of blk-crypto-profile, and implements the interfaces of blk_crypto_ll_ops. The crypto virtualization driver performs similar operation like the key handling part in ufs-qcom and ice drivers. It forwards the key program/eviction request to Trust Zone via SMC call. For QCOM, the whole flow of key program/eviction is like - block layer passes the request to virtio_blk extension driver via blk_crypto_ll_ops - virtio_blk extension -> crypto virtualization -> qcom_scm -> SCM -> HYP ->TZ The vendors can implement their own crypto virtualization driver. > >> For background on inline encryption in UFS and eMMC storage, see: >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/block/inline-encryption.rst > > Is there a corresponding Linux driver patch so that we can see how this > is intended to be used? > > - Eric Thanks for your review! I'm preparing the Linux driver patch series and will push them to your review in a few days.