mbox series

[v5,00/14] crypto: acomp - Add virtual address and folio support

Message ID cover.1742034499.git.herbert@gondor.apana.org.au (mailing list archive)
Headers show
Series crypto: acomp - Add virtual address and folio support | expand

Message

Herbert Xu March 15, 2025, 10:30 a.m. UTC
v5 removes the incompressible warnings in ubifs, removes more dead
code from qat, and replaces crypto_has_comp with crypto_has_acomp
in hibernate and ipcomp.

This patch series adds virtual address and folio support to acomp.
This finally brings it to feature parity with the legacy crypto_comp,
which enables us to convert the existing users to acomp.

The three users are converted according to their characteristics:
ubifs uses folio+linear, hibernate uses linear only while ipcomp
uses SG only.

Only ipcomp is fully asynchronous, ubifs supports asynchronous
but will wait on it and hibernate is synchronous only.

Herbert Xu (14):
  xfrm: ipcomp: Call pskb_may_pull in ipcomp_input
  crypto: scomp - Remove support for some non-trivial SG lists
  crypto: iaa - Remove dst_null support
  crypto: qat - Remove dst_null support
  crypto: acomp - Remove dst_free
  crypto: scomp - Add chaining and virtual address support
  crypto: acomp - Add ACOMP_REQUEST_ALLOC and acomp_request_alloc_extra
  crypto: iaa - Use acomp stack fallback
  crypto: acomp - Add async nondma fallback
  crypto: acomp - Add support for folios
  xfrm: ipcomp: Use crypto_acomp interface
  PM: hibernate: Use crypto_acomp interface
  ubifs: Use crypto_acomp interface
  ubifs: Pass folios to acomp

 crypto/acompress.c                            | 148 ++++--
 crypto/scompress.c                            | 189 ++++---
 drivers/crypto/intel/iaa/iaa_crypto_main.c    | 164 +-----
 drivers/crypto/intel/qat/qat_common/qat_bl.c  | 159 ------
 drivers/crypto/intel/qat/qat_common/qat_bl.h  |   6 -
 .../intel/qat/qat_common/qat_comp_algs.c      |  85 +---
 .../intel/qat/qat_common/qat_comp_req.h       |  10 -
 fs/ubifs/compress.c                           | 208 ++++++--
 fs/ubifs/file.c                               |  74 +--
 fs/ubifs/journal.c                            |  11 +-
 fs/ubifs/ubifs.h                              |  26 +-
 include/crypto/acompress.h                    | 184 ++++++-
 include/crypto/internal/acompress.h           |  26 +-
 include/crypto/internal/scompress.h           |   2 -
 include/linux/crypto.h                        |   1 +
 include/net/ipcomp.h                          |  13 +-
 kernel/power/hibernate.c                      |   5 +-
 kernel/power/swap.c                           |  58 ++-
 net/xfrm/xfrm_algo.c                          |   7 +-
 net/xfrm/xfrm_ipcomp.c                        | 478 +++++++++---------
 20 files changed, 932 insertions(+), 922 deletions(-)