Nick Terrell
f9df486bbf
lib: zstd: Add kernel-specific API
...
This patch:
- Moves `include/linux/zstd.h` -> `include/linux/zstd_lib.h`
- Updates modified zstd headers to yearless copyright
- Adds a new API in `include/linux/zstd.h` that is functionally
equivalent to the in-use subset of the current API. Functions are
renamed to avoid symbol collisions with zstd, to make it clear it is
not the upstream zstd API, and to follow the kernel style guide.
- Updates all callers to use the new API.
There are no functional changes in this patch. Since there are no
functional change, I felt it was okay to update all the callers in a
single patch. Once the API is approved, the callers are mechanically
changed.
This patch is preparing for the 3rd patch in this series, which updates
zstd to version 1.4.10. Since the upstream zstd API is no longer exposed
to callers, the update can happen transparently.
Signed-off-by: Nick Terrell <terrelln@fb.com>
Tested By: Paul Jones <paul@pauljones.id.au>
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # LLVM/Clang v13.0.0 on x86-64
Tested-by: Jean-Denis Girard <jd.girard@sysnux.pf>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 18:07:05 +07:00
..
asymmetric_keys
crypto: asymmetric_keys - select CRYPTO_HASH where needed
2019-08-04 09:33:23 +02:00
async_tx
async_tx: Fix DMA_PREP_FENCE usage in do_async_gen_syndrome()
2018-04-13 19:47:58 +02:00
.gitignore
crypto: rsa - add .gitignore for crypto/*.-asn1.[ch] files
2015-06-25 23:29:24 +08:00
842.c
crypto: 842 - change 842 alg to use software
2015-05-11 15:06:43 +08:00
ablk_helper.c
crypto: ablk_helper - Fix cryptd reordering
2016-06-23 18:29:53 +08:00
ablkcipher.c
crypto: skcipher - Fix -Wstringop-truncation warnings
2018-10-03 17:01:41 -07:00
acompress.c
UPSTREAM: crypto: acomp - add driver-side scomp interface
2026-05-15 18:07:01 +07:00
adiantum.c
UPSTREAM: crypto: adiantum - initialize crypto_spawn::inst
2019-01-18 12:43:35 -08:00
aead.c
crypto: aead - Remove blkcipher null for IV generators
2016-07-18 17:35:43 +08:00
aes_generic.c
FROMGIT: crypto: arm/aes - add some hardening against cache-timing attacks
2018-12-13 09:34:58 -08:00
af_alg.c
BACKPORT: net: Work around lockdep limitation in sockets that use sockets
2026-05-15 17:56:15 +07:00
ahash.c
crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails
2019-03-23 13:19:45 +01:00
akcipher.c
crypto: akcipher - add akcipher declarations needed by templates.
2015-12-09 20:03:57 +08:00
algapi.c
crypto: api - Fix race condition in crypto_spawn_alg
2020-02-14 16:31:02 -05:00
algboss.c
crypto: algboss - don't wait during notifier callback
2020-06-30 15:38:32 -04:00
algif_aead.c
BACKPORT: net: fix sleeping for sk_wait_event()
2026-05-15 17:57:09 +07:00
algif_hash.c
BACKPORT: net: Work around lockdep limitation in sockets that use sockets
2026-05-15 17:56:15 +07:00
algif_rng.c
crypto: algif_rng - Remove obsolete const-removal cast
2015-04-22 09:30:21 +08:00
algif_skcipher.c
BACKPORT: net: fix sleeping for sk_wait_event()
2026-05-15 17:57:09 +07:00
ansi_cprng.c
crypto: ansi_cprng - Convert to new rng interface
2015-04-22 09:30:18 +08:00
anubis.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
api.c
This is the 4.9.214 stable release
2020-02-17 10:05:12 +01:00
arc4.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
authenc.c
crypto: authenc - Fix sleep in atomic context in decrypt_tail
2022-04-20 09:06:31 +02:00
authencesn.c
crypto: authencesn - Avoid twice completion call in decrypt path
2019-01-23 08:10:54 +01:00
blkcipher.c
crypto: skcipher - Fix -Wstringop-truncation warnings
2018-10-03 17:01:41 -07:00
blowfish_common.c
blowfish_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
camellia_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
cast5_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
cast6_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
cast_common.c
crypto: make tables used from assembler __visible
2013-08-14 20:42:03 +10:00
cbc.c
crypto: include crypto- module prefix in template
2014-11-26 20:06:30 +08:00
ccm.c
crypto: ccm - preserve the IV buffer
2017-11-15 15:53:18 +01:00
chacha20poly1305.c
This is the 4.9.187 stable release
2019-08-04 09:50:32 +02:00
chacha_generic.c
BACKPORT, FROMGIT: crypto: chacha - add XChaCha12 support
2018-12-13 09:34:58 -08:00
cipher.c
cmac.c
crypto: include crypto- module prefix in template
2014-11-26 20:06:30 +08:00
compress.c
crc32_generic.c
crypto: hash - annotate algorithms taking optional key
2018-02-25 11:05:43 +01:00
crc32c_generic.c
crypto: hash - annotate algorithms taking optional key
2018-02-25 11:05:43 +01:00
crct10dif_common.c
crypto: crct10dif - Add fallback for broken initrds
2013-09-12 15:31:34 +10:00
crct10dif_generic.c
crypto: crct10dif-generic - fix use via crypto_shash_digest()
2019-05-21 18:48:57 +02:00
cryptd.c
crypto: hash - annotate algorithms taking optional key
2018-02-25 11:05:43 +01:00
crypto_engine.c
kthread: kthread worker API cleanup
2016-10-11 15:06:33 -07:00
crypto_null.c
crypto: null - Remove default null blkcipher
2016-07-18 17:35:44 +08:00
crypto_user.c
UPSTREAM: crypto: acomp - add asynchronous compression api
2026-05-15 18:07:01 +07:00
crypto_wq.c
crypto: crypto_wq - Fix late crypto work queue initialization
2014-03-21 21:54:28 +08:00
ctr.c
crypto: ctr - Use skcipher in rfc3686
2016-07-18 17:35:39 +08:00
cts.c
crypto: cts - Convert to skcipher
2016-07-18 17:35:44 +08:00
deflate.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
des_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
dh.c
crypto: dh - Fix double free of ctx->p
2017-11-24 08:33:41 +01:00
dh_helper.c
crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
2017-11-21 09:23:29 +01:00
drbg.c
crypto: drbg - make reseeding from get_random_bytes() synchronous
2022-06-25 11:45:16 +02:00
ecb.c
crypto: include crypto- module prefix in template
2014-11-26 20:06:30 +08:00
ecc.c
crypto: ecdh - fix big endian bug in ECC library
2019-12-21 10:41:40 +01:00
ecc.h
crypto: ecdh - make ecdh_shared_secret unique
2016-06-24 21:24:59 +08:00
ecc_curve_defs.h
crypto: ecdh - Add ECDH software support
2016-06-23 18:29:57 +08:00
ecdh.c
crypto: ecdh - make ecdh_shared_secret unique
2016-06-24 21:24:59 +08:00
ecdh_helper.c
crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key()
2021-03-03 17:44:36 +01:00
echainiv.c
crypto: echainiv - Replace chaining with multiplication
2016-09-13 18:44:57 +08:00
fcrypt.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
fips.c
crypto: fips - Move fips_enabled sysctl into fips.c
2015-04-23 14:18:09 +08:00
gcm.c
crypto: gcm - fix incompatibility between "gcm" and "gcm_base"
2019-05-21 18:49:00 +02:00
gf128mul.c
ghash-generic.c
crypto: ghash - fix unaligned memory access in ghash_setkey()
2019-08-04 09:33:25 +02:00
hash_info.c
keys, trusted: select hash algorithm for TPM2 chips
2015-12-20 15:27:12 +02:00
hmac.c
crypto: hmac - require that the underlying hash algorithm is unkeyed
2017-12-20 10:07:15 +01:00
internal.h
crypto: api - Fix race condition in crypto_spawn_alg
2020-02-14 16:31:02 -05:00
jitterentropy-kcapi.c
crypto: jitterentropy - use ktime_get_ns as fallback
2016-06-24 21:24:58 +08:00
jitterentropy.c
crypto: jitterentropy - Delete unnecessary checks before the function call "kzfree"
2015-06-25 23:18:33 +08:00
Kconfig
lib/lz4: Update lz4 to version 1.10.0 and remove lz4hc.
2026-05-15 18:07:05 +07:00
keywrap.c
crypto: keywrap - memzero the correct memory
2016-02-01 22:27:05 +08:00
khazad.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
kpp.c
crypto: kpp - Key-agreement Protocol Primitives API (KPP)
2016-06-23 18:29:56 +08:00
lrw.c
gcc-10: avoid shadowing standard library 'free()' in crypto
2020-05-20 08:15:37 +02:00
lz4.c
crypto: lz4 - fixed decompress function to return error code
2026-05-15 18:07:02 +07:00
lzo.c
crypto: lzo - get rid of superfluous __GFP_REPEAT
2016-04-15 22:36:36 +08:00
Makefile
lib/lz4: Update lz4 to version 1.10.0 and remove lz4hc.
2026-05-15 18:07:05 +07:00
mcryptd.c
crypto: hash - annotate algorithms taking optional key
2018-02-25 11:05:43 +01:00
md4.c
crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
2022-06-25 11:45:01 +02:00
md5.c
crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
2022-06-25 11:45:01 +02:00
memneq.c
crypto: memneq - fix for archs without efficient unaligned access
2013-12-09 20:09:12 +08:00
michael_mic.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
nhpoly1305.c
UPSTREAM: crypto: adiantum - adjust some comments to match latest paper
2019-01-18 12:43:34 -08:00
pcbc.c
crypto: pcbc - remove bogus memcpy()s with src == dest
2019-03-23 13:19:47 +01:00
pcrypt.c
crypto: pcrypt - Delay write to padata->info
2021-11-26 11:48:36 +01:00
poly1305_generic.c
FROMGIT: crypto: poly1305 - add Poly1305 core API
2018-12-13 09:34:59 -08:00
proc.c
crypto: fips - Move fips_enabled sysctl into fips.c
2015-04-23 14:18:09 +08:00
ripemd.h
rmd128.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
rmd160.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
rmd256.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
rmd320.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
rng.c
crypto: rng - Do not free default RNG when it becomes unused
2015-06-22 15:49:18 +08:00
rsa-pkcs1pad.c
crypto: fix a memory leak in rsa-kcs1pad's encryption mode
2019-11-25 09:53:02 +01:00
rsa.c
crypto: rsa - Generate fixed-length output
2016-07-01 23:45:18 +08:00
rsa_helper.c
crypto: rsa - fix buffer overread when stripping leading zeroes
2017-12-20 10:07:15 +01:00
rsaprivkey.asn1
crypto: rsa - Store rest of the private key components
2016-07-05 23:05:26 +08:00
rsapubkey.asn1
crypto: akcipher - Changes to asymmetric key API
2015-10-14 22:23:16 +08:00
salsa20_generic.c
crypto: salsa20 - don't access already-freed walk.iv
2019-05-21 18:49:00 +02:00
scatterwalk.c
BACKPORT: crypto: scatterwalk - remove 'chain' argument from scatterwalk_crypto_chain()
2026-05-15 17:58:28 +07:00
scompress.c
UPSTREAM: crypto: acomp - add driver-side scomp interface
2026-05-15 18:07:01 +07:00
seed.c
crypto: prefix module autoloading with "crypto-"
2014-11-24 22:43:57 +08:00
seqiv.c
crypto: skcipher - Remove top-level givcipher interface
2016-07-18 17:35:46 +08:00
serpent_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
sha1_generic.c
crypto: hash - add zero length message hash for shax and md5
2015-12-22 20:43:35 +08:00
sha3_generic.c
crypto: sha3-generic - fixes for alignment and big endian operation
2018-02-03 17:05:34 +01:00
sha256_generic.c
crypto: hash - add zero length message hash for shax and md5
2015-12-22 20:43:35 +08:00
sha512_generic.c
crypto: sha512-generic - move to generic glue implementation
2015-04-10 21:39:41 +08:00
shash.c
crypto: shash - avoid comparing pointers to exported functions under CFI
2021-07-20 16:20:59 +02:00
skcipher.c
crypto: skcipher - Add missing API setkey checks
2017-06-07 12:07:46 +02:00
tcrypt.c
BACKPORT, FROMGIT: crypto: adiantum - add Adiantum support
2018-12-13 09:34:59 -08:00
tcrypt.h
crypto: tcrypt - Add ChaCha20/Poly1305 speed tests
2015-07-17 21:20:20 +08:00
tea.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
testmgr.c
lib/lz4: Update lz4 to version 1.10.0 and remove lz4hc.
2026-05-15 18:07:05 +07:00
testmgr.h
lib/lz4: Update lz4 to version 1.10.0 and remove lz4hc.
2026-05-15 18:07:05 +07:00
tgr192.c
crypto: tgr192 - fix unaligned memory access
2020-01-29 10:24:12 +01:00
twofish_common.c
twofish_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
vmac.c
crypto: vmac - separate tfm and request context
2018-08-17 20:59:29 +02:00
wp512.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
xcbc.c
crypto: include crypto- module prefix in template
2014-11-26 20:06:30 +08:00
xor.c
crypto: xor - Fix warning when XOR_SELECT_TEMPLATE is unset
2016-08-31 23:00:48 +08:00
xts.c
gcc-10: avoid shadowing standard library 'free()' in crypto
2020-05-20 08:15:37 +02:00
zstd.c
lib: zstd: Add kernel-specific API
2026-05-15 18:07:05 +07:00