[v2,0/3] crypto: x86/aesni - Improve XTS data type

Message ID 20230928072508.218368-1-chang.seok.bae@intel.com
Headers
Series crypto: x86/aesni - Improve XTS data type |

Message

Chang S. Bae Sept. 28, 2023, 7:25 a.m. UTC
  V1->V2:
* Drop the unnecessary casts (Eric).
* Put the 'Link:' tag right after 'Suggested-by' (Eric).

---

The field within the struct aesni_xts_ctx is currently defined as a
byte array, sized to match the struct crypto_aes_ctx. However, it
actually represents the struct data type.

To accurately redefine the data type, some adjustments have to be made
to the address alignment code. It involved refactoring the common
alignment code initially, followed by updating the structure's
definition. Finally, the XTS alignment is now performed early in the
process, rather than at every access point.

This change was suggested during Eric's review of another series
intended to enable an alternative AES implementation [1][2]. I viewed
it as an enhancement to the mainline, independent of the series.

I have divided these changes into incremental pieces, making them
considerably more reviewable and maintainable.

The series is based on the cryptodev's master branch:

    git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master

Thanks,
Chang

[1] https://lore.kernel.org/all/ZFWQ4sZEVu%2FLHq+Q@gmail.com/
[2] https://lore.kernel.org/all/20230526065414.GB875@sol.localdomain/

Chang S. Bae (3):
  crypto: x86/aesni - Refactor the common address alignment code
  crypto: x86/aesni - Correct the data type in struct aesni_xts_ctx
  crypto: x86/aesni - Perform address alignment early for XTS mode

 arch/x86/crypto/aesni-intel_glue.c | 52 ++++++++++++++----------------
 1 file changed, 25 insertions(+), 27 deletions(-)


base-commit: 1c43c0f1f84aa59dfc98ce66f0a67b2922aa7f9d
  

Comments

Herbert Xu Oct. 5, 2023, 10:25 a.m. UTC | #1
On Thu, Sep 28, 2023 at 12:25:05AM -0700, Chang S. Bae wrote:
> V1->V2:
> * Drop the unnecessary casts (Eric).
> * Put the 'Link:' tag right after 'Suggested-by' (Eric).
> 
> ---
> 
> The field within the struct aesni_xts_ctx is currently defined as a
> byte array, sized to match the struct crypto_aes_ctx. However, it
> actually represents the struct data type.
> 
> To accurately redefine the data type, some adjustments have to be made
> to the address alignment code. It involved refactoring the common
> alignment code initially, followed by updating the structure's
> definition. Finally, the XTS alignment is now performed early in the
> process, rather than at every access point.
> 
> This change was suggested during Eric's review of another series
> intended to enable an alternative AES implementation [1][2]. I viewed
> it as an enhancement to the mainline, independent of the series.
> 
> I have divided these changes into incremental pieces, making them
> considerably more reviewable and maintainable.
> 
> The series is based on the cryptodev's master branch:
> 
>     git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
> 
> Thanks,
> Chang
> 
> [1] https://lore.kernel.org/all/ZFWQ4sZEVu%2FLHq+Q@gmail.com/
> [2] https://lore.kernel.org/all/20230526065414.GB875@sol.localdomain/
> 
> Chang S. Bae (3):
>   crypto: x86/aesni - Refactor the common address alignment code
>   crypto: x86/aesni - Correct the data type in struct aesni_xts_ctx
>   crypto: x86/aesni - Perform address alignment early for XTS mode
> 
>  arch/x86/crypto/aesni-intel_glue.c | 52 ++++++++++++++----------------
>  1 file changed, 25 insertions(+), 27 deletions(-)
> 
> 
> base-commit: 1c43c0f1f84aa59dfc98ce66f0a67b2922aa7f9d
> -- 
> 2.34.1

All applied.  Thanks.